[PATCH v5 12/20] objcopy tests for Object Attributes v2

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Wed Jul 9 14:11:05 GMT 2025


On 07/07/2025 17:49, Matthieu Longo wrote:
> ---
>  .../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"


OK.

R.


More information about the Binutils mailing list