[PATCH v4 12/22] objcopy tests for Object Attributes v2

Matthieu Longo matthieu.longo@arm.com
Thu Jul 3 16:27:15 GMT 2025


---
 .../binutils-all/aarch64/build-attributes.d   | 52 +++++++++++++++++++
 .../binutils-all/aarch64/build-attributes.s   | 31 +++++++++++
 2 files changed, 83 insertions(+)
 create mode 100644 binutils/testsuite/binutils-all/aarch64/build-attributes.d
 create mode 100644 binutils/testsuite/binutils-all/aarch64/build-attributes.s

diff --git a/binutils/testsuite/binutils-all/aarch64/build-attributes.d b/binutils/testsuite/binutils-all/aarch64/build-attributes.d
new file mode 100644
index 00000000000..90e69d5d4b8
--- /dev/null
+++ b/binutils/testsuite/binutils-all/aarch64/build-attributes.d
@@ -0,0 +1,52 @@
+#name: Copy AEABI build attributes from an object to another.
+#PROG: objcopy
+#source: build-attributes.s
+#readelf: -A
+
+Subsections:
+ - Name:	  aeabi_feature_and_bits
+   Scope:	  public
+   Length:	  35
+   Comprehension: optional
+   Encoding:	  ULEB128
+   Values:
+    Tag_Feature_BTI:	1 \(0x1\)
+    Tag_Feature_PAC:	0 \(0x0\)
+    Tag_Feature_GCS:	1 \(0x1\)
+
+ - Name:	  aeabi_pauthabi
+   Scope:	  public
+   Length:	  23
+   Comprehension: required
+   Encoding:	  ULEB128
+   Values:
+    Tag_PAuth_Schema:	1 \(0x1\)
+
+ - Name:	  foo_1
+   Scope:	  private
+   Length:	  20
+   Comprehension: optional
+   Encoding:	  ULEB128
+   Values:
+    Tag_unknown_1:	1 \(0x1\)
+    Tag_unknown_2:	0 \(0x0\)
+    Tag_unknown_3:	0 \(0x0\)
+    Tag_unknown_4:	0 \(0x0\)
+
+ - Name:	  foo_2
+   Scope:	  private
+   Length:	  16
+   Comprehension: optional
+   Encoding:	  ULEB128
+   Values:
+    Tag_unknown_0:	1 \(0x1\)
+    Tag_unknown_1:	1 \(0x1\)
+
+ - Name:	  foo_3
+   Scope:	  private
+   Length:	  26
+   Comprehension: optional
+   Encoding:	  NTBS
+   Values:
+    Tag_unknown_0:	"hello"
+    Tag_unknown_1:	"world"
diff --git a/binutils/testsuite/binutils-all/aarch64/build-attributes.s b/binutils/testsuite/binutils-all/aarch64/build-attributes.s
new file mode 100644
index 00000000000..bd9665f9f6d
--- /dev/null
+++ b/binutils/testsuite/binutils-all/aarch64/build-attributes.s
@@ -0,0 +1,31 @@
+.aeabi_subsection aeabi_pauthabi, required, uleb128
+.aeabi_attribute Tag_PAuth_Schema, 1
+
+.aeabi_subsection aeabi_feature_and_bits, optional, uleb128
+.aeabi_attribute Tag_Feature_BTI, 1
+.aeabi_attribute Tag_Feature_PAC, 0
+.aeabi_attribute Tag_Feature_GCS, 1
+
+.aeabi_subsection foo_1, optional, uleb128
+.aeabi_attribute 1, 1
+
+.aeabi_subsection foo_2, optional, uleb128
+.aeabi_attribute 0, 1
+.aeabi_attribute 1, 1
+
+.aeabi_subsection foo_1, optional, uleb128
+.aeabi_attribute 2, 0
+
+.aeabi_subsection foo_2, optional, uleb128
+.aeabi_attribute 1, 1
+
+.aeabi_subsection foo_1, optional, uleb128
+.aeabi_attribute 2, 0
+
+.aeabi_subsection foo_1, optional, uleb128
+.aeabi_attribute 3, 0
+.aeabi_attribute 4, 0
+
+.aeabi_subsection foo_3, optional, ntbs
+.aeabi_attribute 0, "hello"
+.aeabi_attribute 1, "world"
-- 
2.50.0



More information about the Binutils mailing list