From: Matthieu Longo Date: Thu, 10 Apr 2025 16:22:51 +0000 (+0100) Subject: gnu directives: bfd: generic tests for objcopy of gnu attributes v2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18f84534d7e750885f87a0186cc7bdf5c4241307;p=thirdparty%2Fbinutils-gdb.git gnu directives: bfd: generic tests for objcopy of gnu attributes v2 --- 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"