[binutils-gdb] gnu directives: bfd: generic tests for objcopy of gnu attributes v2
Matthieu Longo
mlongo@sourceware.org
Thu Jan 22 10:14:02 GMT 2026
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=18f84534d7e750885f87a0186cc7bdf5c4241307
commit 18f84534d7e750885f87a0186cc7bdf5c4241307
Author: Matthieu Longo <matthieu.longo@arm.com>
Date: Thu Apr 10 17:22:51 2025 +0100
gnu directives: bfd: generic tests for objcopy of gnu attributes v2
Diff:
---
binutils/testsuite/binutils-all/objcopy.exp | 1 +
binutils/testsuite/binutils-all/object-attr-v2.d | 52 ++++++++++++++++++++++++
binutils/testsuite/binutils-all/object-attr-v2.s | 31 ++++++++++++++
3 files changed, 84 insertions(+)
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index 459a2e6cd7e..3ad92256610 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -1329,6 +1329,7 @@ if [is_elf_format] {
run_dump_test "note-6-32"
}
run_dump_test "note-5"
+ run_dump_test "object-attr-v2"
}
run_dump_test "copy-2"
diff --git a/binutils/testsuite/binutils-all/object-attr-v2.d b/binutils/testsuite/binutils-all/object-attr-v2.d
new file mode 100644
index 00000000000..8c94b5259f3
--- /dev/null
+++ b/binutils/testsuite/binutils-all/object-attr-v2.d
@@ -0,0 +1,52 @@
+#name: Copy object attributes v2 data from an object to another.
+#PROG: objcopy
+#target: [supports_oa_v2]
+#readelf: -A
+
+Subsections:
+ - Name:[ ]+foo_1
+ Scope:[ ]+private
+ Length:[ ]+20
+ Comprehension:[ ]+optional
+ Encoding:[ ]+ULEB128
+ Values:
+ +Tag_unknown_1:[ ]+1 .*
+ +Tag_unknown_2:[ ]+0 .*
+ +Tag_unknown_3:[ ]+0 .*
+ +Tag_unknown_4:[ ]+0 .*
+
+ - Name:[ ]+foo_2
+ Scope:[ ]+private
+ Length:[ ]+16
+ Comprehension:[ ]+optional
+ Encoding:[ ]+ULEB128
+ Values:
+ +Tag_unknown_0:[ ]+1 .*
+ +Tag_unknown_1:[ ]+1 .*
+
+ - Name:[ ]+foo_3
+ Scope:[ ]+private
+ Length:[ ]+26
+ Comprehension:[ ]+optional
+ Encoding:[ ]+NTBS
+ Values:
+ +Tag_unknown_0:[ ]+"hello"
+ +Tag_unknown_1:[ ]+"world"
+
+ - Name:[ ]+gnu_bar
+ Scope:[ ]+public
+ Length:[ ]+20
+ Comprehension:[ ]+optional
+ Encoding:[ ]+ULEB128
+ Values:
+ +Tag_unknown_0:[ ]+1 .*
+ +Tag_unknown_1:[ ]+0 .*
+ +Tag_unknown_2:[ ]+1 .*
+
+ - Name:[ ]+gnu_foo
+ Scope:[ ]+public
+ Length:[ ]+16
+ Comprehension:[ ]+required
+ Encoding:[ ]+ULEB128
+ Values:
+ +Tag_unknown_1:[ ]+1 .*
diff --git a/binutils/testsuite/binutils-all/object-attr-v2.s b/binutils/testsuite/binutils-all/object-attr-v2.s
new file mode 100644
index 00000000000..d5029503bbc
--- /dev/null
+++ b/binutils/testsuite/binutils-all/object-attr-v2.s
@@ -0,0 +1,31 @@
+ .gnu_subsection gnu_foo, required, uleb128
+ .gnu_attribute 1, 1
+
+ .gnu_subsection gnu_bar, optional, uleb128
+ .gnu_attribute 0, 1
+ .gnu_attribute 1, 0
+ .gnu_attribute 2, 1
+
+ .gnu_subsection foo_1, optional, uleb128
+ .gnu_attribute 1, 1
+
+ .gnu_subsection foo_2, optional, uleb128
+ .gnu_attribute 0, 1
+ .gnu_attribute 1, 1
+
+ .gnu_subsection foo_1, optional, uleb128
+ .gnu_attribute 2, 0
+
+ .gnu_subsection foo_2, optional, uleb128
+ .gnu_attribute 1, 1
+
+ .gnu_subsection foo_1, optional, uleb128
+ .gnu_attribute 2, 0
+
+ .gnu_subsection foo_1, optional, uleb128
+ .gnu_attribute 3, 0
+ .gnu_attribute 4, 0
+
+ .gnu_subsection foo_3, optional, ntbs
+ .gnu_attribute 0, "hello"
+ .gnu_attribute 1, "world"
More information about the Binutils-cvs
mailing list