[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