diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-10-09 05:05:57 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-10-09 05:13:26 -0700 |
commit | 32930e4edbc06bc6f10c435dbcc63131715df678 (patch) | |
tree | 330e20c899b9aedbd471b8e0463e95cb2fbf42a8 /ld | |
parent | 3d87245cc1a4310264d9cb0e4566517d3455a7f5 (diff) | |
download | fsf-binutils-gdb-32930e4edbc06bc6f10c435dbcc63131715df678.zip fsf-binutils-gdb-32930e4edbc06bc6f10c435dbcc63131715df678.tar.gz fsf-binutils-gdb-32930e4edbc06bc6f10c435dbcc63131715df678.tar.bz2 |
x86: Support GNU_PROPERTY_X86_ISA_1_V[234] marker
GCC 11 supports -march=x86-64-v[234] to enable x86 micro-architecture ISA
levels:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97250
Update GNU_PROPERTY_X86_ISA_1_XXX macros:
https://gitlab.com/x86-psABIs/x86-64-ABI/-/merge_requests/13
in x86 ELF binaries to indicate that micro-architecture ISA levels
required to execute the binary:
#define GNU_PROPERTY_X86_ISA_1_NEEDED (GNU_PROPERTY_X86_UINT32_OR_LO + 2)
#define GNU_PROPERTY_X86_ISA_1_USED (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 2)
#define GNU_PROPERTY_X86_ISA_1_V2 (1U << 0)
#define GNU_PROPERTY_X86_ISA_1_V3 (1U << 1)
#define GNU_PROPERTY_X86_ISA_1_V4 (1U << 2)
The previous GNU_PROPERTY_X86_ISA_1_XXX macros are deprecated and renamed
to GNU_PROPERTY_X86_COMPAT_2_ISA_1_XXX.
In addition to EM_X86_64, GNU_PROPERTY_X86_ISA_1_V[234] marker can be used
by ld.so to detect the x86-64-v4 shared library placed in an x86-64-v2
directory by mistake on an x86-64-v2 machine to avoid crashes on x86-64-v4
instructions.
Add -z x86-64-v[234] linker command line option to mark x86-64-v[234]
ISA level as needed.
Also add
#define GNU_PROPERTY_X86_FEATURE_2_MASK (1U << 11)
for mask registers.
bfd/
PR gas/26703
* elf-linker-x86.h (elf_linker_x86_params): Add isa_level.
* elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Merge
GNU_PROPERTY_X86_ISA_1_V[234].
(_bfd_x86_elf_link_setup_gnu_properties): Generate
GNU_PROPERTY_X86_ISA_1_V[234] for -z x86-64-v[234].
binutils/
PR gas/26703
* readelf.c (decode_x86_compat_2_isa): New function.
(decode_x86_isa): Updated for new X86_ISA_1_XXX bits.
(decode_x86_feature_1): Handle GNU_PROPERTY_X86_FEATURE_2_MASK.
(print_gnu_property_note): Handle X86_COMPAT_2_ISA_1_USED,
and X86_COMPAT_2_ISA_1_NEEDED.
* testsuite/binutils-all/i386/pr21231b.s: Updated to the current
GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
values.
* testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
* testsuite/binutils-all/x86-64/pr23494a.s: Likewise.
* testsuite/binutils-all/x86-64/pr23494b.s: Likewise.
* testsuite/binutils-all/x86-64/pr23494c.s: Likewise.
* testsuite/binutils-all/i386/empty.d: Updated.
* testsuite/binutils-all/i386/ibt.d: Likewise.
* testsuite/binutils-all/i386/pr21231a.d: Likewise.
* testsuite/binutils-all/i386/pr21231b.d: Likewise.
* testsuite/binutils-all/i386/shstk.d: Likewise.
* testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
* testsuite/binutils-all/x86-64/empty.d: Likewise.
* testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
* testsuite/binutils-all/x86-64/ibt.d: Likewise.
* testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
* testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
* testsuite/binutils-all/x86-64/shstk.d: Likewise.
gas/
PR gas/26703
* config/tc-i386.c (xstate): Add xstate_mask.
(md_assemble): Check i.types[j], instead of i.tm.operand_types[j],
for xstate. Set xstate_mask, instead of xstate_zmm, for RegMask.
(output_insn): Update for GNU_PROPERTY_X86_ISA_1_V[234]. Update
xstate for mask register and VSIB.
* testsuite/gas/i386/i386.exp: Run more GNU_PROPERTY tests.
* testsuite/gas/i386/property-1.s: Updated to the current
GNU_PROPERTY_X86_ISA_1_USED value.
* testsuite/gas/i386/property-2.s: Only keep cmove.
* testsuite/gas/i386/property-3.s: Changed to addsubpd.
* testsuite/gas/i386/property-1.d: Updated.
* testsuite/gas/i386/property-2.d: Likewise.
* testsuite/gas/i386/property-3.d: Likewise.
* testsuite/gas/i386/property-4.d: Likewise.
* testsuite/gas/i386/property-5.d: Likewise.
* testsuite/gas/i386/property-6.d: Likewise.
* testsuite/gas/i386/x86-64-property-1.d: Likewise.
* testsuite/gas/i386/x86-64-property-2.d: Likewise.
* testsuite/gas/i386/x86-64-property-3.d: Likewise.
* testsuite/gas/i386/x86-64-property-4.d: Likewise.
* testsuite/gas/i386/x86-64-property-5.d: Likewise.
* testsuite/gas/i386/x86-64-property-6.d: Likewise.
* testsuite/gas/i386/x86-64-property-7.d: Likewise.
* testsuite/gas/i386/x86-64-property-8.d: Likewise.
* testsuite/gas/i386/x86-64-property-9.d: Likewise.
* testsuite/gas/i386/property-11.d: New file.
* testsuite/gas/i386/property-11.s: Likewise.
* testsuite/gas/i386/property-12.d: Likewise.
* testsuite/gas/i386/property-12.s: Likewise.
* testsuite/gas/i386/property-13.d: Likewise.
* testsuite/gas/i386/property-13.s: Likewise.
* testsuite/gas/i386/x86-64-property-11.d: Likewise.
* testsuite/gas/i386/x86-64-property-12.d: Likewise.
* testsuite/gas/i386/x86-64-property-13.d: Likewise.
* testsuite/gas/i386/x86-64-property-14.d: Likewise.
* testsuite/gas/i386/x86-64-property-14.s: Likewise.
include/
PR gas/26703
* elf/common.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ...
(GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED): This.
(GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ...
(GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED): This.
(GNU_PROPERTY_X86_ISA_1_XXX): Renamed to ...
(GNU_PROPERTY_X86_COMPAT_2_ISA_1_XXX): This.
(GNU_PROPERTY_X86_ISA_1_NEEDED): New.
(GNU_PROPERTY_X86_ISA_1_USED): Likewise.
(GNU_PROPERTY_X86_ISA_1_V2): Likewise.
(GNU_PROPERTY_X86_ISA_1_V3): Likewise.
(GNU_PROPERTY_X86_ISA_1_V4): Likewise.
(GNU_PROPERTY_X86_FEATURE_2_MASK): Likewise.
ld/
PR gas/26703
* NEWS: Mention -z x86-64-v[234].
* ld.texi: Document -z x86-64-v[234].
* emulparams/elf32_x86_64.sh: Use x86-64-level.sh.
* emulparams/elf_i386.sh: Likewise.
* emulparams/elf_x86_64.sh: Likewise.
* emulparams/x86-64-level.sh: New file.
* testsuite/ld-elf/x86-feature-1a.rd: Update.
* testsuite/ld-elf/x86-feature-1b.rd: Likewise.
* testsuite/ld-elf/x86-feature-1c.rd: Likewise.
* testsuite/ld-elf/x86-feature-1d.rd: Likewise.
* testsuite/ld-elf/x86-feature-1e.rd: Likewise.
* testsuite/ld-i386/pr23372c.d: Likewise.
* testsuite/ld-i386/pr23486c.d: Likewise.
* testsuite/ld-i386/pr23486d.d: Likewise.
* testsuite/ld-i386/pr24322a.d: Likewise.
* testsuite/ld-i386/pr24322b.d: Likewise.
* testsuite/ld-i386/property-1a.r: Likewise.
* testsuite/ld-i386/property-2a.r: Likewise.
* testsuite/ld-i386/property-3.r: Likewise.
* testsuite/ld-i386/property-3a.r: Likewise.
* testsuite/ld-i386/property-4.r: Likewise.
* testsuite/ld-i386/property-4a.r: Likewise.
* testsuite/ld-i386/property-5.r: Likewise.
* testsuite/ld-i386/property-5a.r: Likewise.
* testsuite/ld-i386/property-7a.r: Likewise.
* testsuite/ld-i386/property-x86-3.d: Likewise.
* testsuite/ld-i386/property-x86-4a.d: Likewise.
* testsuite/ld-i386/property-x86-5.d: Likewise.
* testsuite/ld-i386/property-x86-cet1.d: Likewise.
* testsuite/ld-i386/property-x86-cet2a.d: Likewise.
* testsuite/ld-i386/property-x86-cet5a.d: Likewise.
* testsuite/ld-i386/property-x86-cet5b.d: Likewise.
* testsuite/ld-i386/property-x86-ibt1a.d: Likewise.
* testsuite/ld-i386/property-x86-ibt1b.d: Likewise.
* testsuite/ld-i386/property-x86-ibt2.d: Likewise.
* testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
* testsuite/ld-i386/property-x86-ibt3b.d: Likewise.
* testsuite/ld-i386/property-x86-ibt4.d: Likewise.
* testsuite/ld-i386/property-x86-ibt5.d: Likewise.
* testsuite/ld-i386/property-x86-shstk1a.d: Likewise.
* testsuite/ld-i386/property-x86-shstk1b.d: Likewise.
* testsuite/ld-i386/property-x86-shstk2.d: Likewise.
* testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
* testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
* testsuite/ld-i386/property-x86-shstk4.d: Likewise.
* testsuite/ld-i386/property-x86-shstk5.d: Likewise.
* testsuite/ld-x86-64/pr23372c-x32.d: Likewise.
* testsuite/ld-x86-64/pr23372c.d: Likewise.
* testsuite/ld-x86-64/pr23486c.d: Likewise.
* testsuite/ld-x86-64/pr23486d-x32.d: Likewise.
* testsuite/ld-x86-64/pr23486d.d: Likewise.
* testsuite/ld-x86-64/pr24322a-x32.d: Likewise.
* testsuite/ld-x86-64/pr24322a.d: Likewise.
* testsuite/ld-x86-64/pr24322b-x32.d: Likewise.
* testsuite/ld-x86-64/pr24322b.d: Likewise.
* testsuite/ld-x86-64/pr24458a-x32.d: Likewise.
* testsuite/ld-x86-64/pr24458a.d: Likewise.
* testsuite/ld-x86-64/pr24458b-x32.d: Likewise.
* testsuite/ld-x86-64/pr24458b.d: Likewise.
* testsuite/ld-x86-64/pr24458c-x32.d: Likewise.
* testsuite/ld-x86-64/pr24458c.d: Likewise.
* testsuite/ld-x86-64/property-1a.r: Likewise.
* testsuite/ld-x86-64/property-2a.r: Likewise.
* testsuite/ld-x86-64/property-3.r: Likewise.
* testsuite/ld-x86-64/property-3a.r: Likewise.
* testsuite/ld-x86-64/property-4.r: Likewise.
* testsuite/ld-x86-64/property-4a.r: Likewise.
* testsuite/ld-x86-64/property-5.r: Likewise.
* testsuite/ld-x86-64/property-5a.r: Likewise.
* testsuite/ld-x86-64/property-7a.r: Likewise.
* testsuite/ld-x86-64/property-x86-3-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-3.d: Likewise.
* testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
* testsuite/ld-x86-64/property-x86-5-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-5.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet1.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet2a.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet5a.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-cet5b.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt2.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt4.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-ibt5.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk2.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk4.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-shstk5.d: Likewise.
* testsuite/ld-i386/i386.exp: Run property-x86-6,
property-x86-isa1, property-x86-isa2 and property-x86-isa3.
* testsuite/ld-i386/property-x86-1.S: Updated to the current
GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
values.
* testsuite/ld-i386/property-x86-2.S: Likewise.
* testsuite/ld-i386/property-x86-3.s: Likewise.
* testsuite/ld-x86-64/pr23372d.s: Likewise.
* testsuite/ld-x86-64/pr23372e.s: Likewise.
* testsuite/ld-x86-64/pr23372f.s: Likewise.
* testsuite/ld-x86-64/pr23486c.s: Likewise.
* testsuite/ld-x86-64/pr23486d.s: Likewise.
* testsuite/ld-x86-64/property-x86-1.S: Likewise.
* testsuite/ld-x86-64/property-x86-2.S: Likewise.
* testsuite/ld-x86-64/property-x86-3.s: Likewise.
* testsuite/ld-x86-64/property-x86-5a.s: Likewise.
* testsuite/ld-x86-64/property-x86-5b.s: Likewise.
* testsuite/ld-i386/property-x86-6.d: New file.
* testsuite/ld-i386/property-x86-isa1.d: Likewise.
* testsuite/ld-i386/property-x86-isa2.d: Likewise.
* testsuite/ld-i386/property-x86-isa3.d: Likewise.
* testsuite/ld-x86-64/property-x86-6-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-6.d: Likewise.
* testsuite/ld-x86-64/property-x86-6.s: Likewise.
* testsuite/ld-x86-64/property-x86-isa1-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-isa1.d: Likewise.
* testsuite/ld-x86-64/property-x86-isa1.s: Likewise.
* testsuite/ld-x86-64/property-x86-isa2-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-isa2.d: Likewise.
* testsuite/ld-x86-64/property-x86-isa3-x32.d: Likewise.
* testsuite/ld-x86-64/property-x86-isa3.d: Likewise.
* testsuite/ld-x86-64/simple.s: Likewise.
* ld/testsuite/ld-x86-64/x86-64.exp: Run property-x86-6,
property-x86-6-x32, property-x86-isa1, property-x86-isa1-x32,
property-x86-isa2, property-x86-isa2-x32, property-x86-isa3-x32
and property-x86-isa3.
Diffstat (limited to 'ld')
144 files changed, 633 insertions, 179 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 738014e..205f6ac 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,155 @@ +2020-10-09 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/26703 + * NEWS: Mention -z x86-64-v[234]. + * ld.texi: Document -z x86-64-v[234]. + * emulparams/elf32_x86_64.sh: Use x86-64-level.sh. + * emulparams/elf_i386.sh: Likewise. + * emulparams/elf_x86_64.sh: Likewise. + * emulparams/x86-64-level.sh: New file. + * testsuite/ld-elf/x86-feature-1a.rd: Update. + * testsuite/ld-elf/x86-feature-1b.rd: Likewise. + * testsuite/ld-elf/x86-feature-1c.rd: Likewise. + * testsuite/ld-elf/x86-feature-1d.rd: Likewise. + * testsuite/ld-elf/x86-feature-1e.rd: Likewise. + * testsuite/ld-i386/pr23372c.d: Likewise. + * testsuite/ld-i386/pr23486c.d: Likewise. + * testsuite/ld-i386/pr23486d.d: Likewise. + * testsuite/ld-i386/pr24322a.d: Likewise. + * testsuite/ld-i386/pr24322b.d: Likewise. + * testsuite/ld-i386/property-1a.r: Likewise. + * testsuite/ld-i386/property-2a.r: Likewise. + * testsuite/ld-i386/property-3.r: Likewise. + * testsuite/ld-i386/property-3a.r: Likewise. + * testsuite/ld-i386/property-4.r: Likewise. + * testsuite/ld-i386/property-4a.r: Likewise. + * testsuite/ld-i386/property-5.r: Likewise. + * testsuite/ld-i386/property-5a.r: Likewise. + * testsuite/ld-i386/property-7a.r: Likewise. + * testsuite/ld-i386/property-x86-3.d: Likewise. + * testsuite/ld-i386/property-x86-4a.d: Likewise. + * testsuite/ld-i386/property-x86-5.d: Likewise. + * testsuite/ld-i386/property-x86-cet1.d: Likewise. + * testsuite/ld-i386/property-x86-cet2a.d: Likewise. + * testsuite/ld-i386/property-x86-cet5a.d: Likewise. + * testsuite/ld-i386/property-x86-cet5b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt1a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt1b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt2.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. + * testsuite/ld-i386/property-x86-ibt3b.d: Likewise. + * testsuite/ld-i386/property-x86-ibt4.d: Likewise. + * testsuite/ld-i386/property-x86-ibt5.d: Likewise. + * testsuite/ld-i386/property-x86-shstk1a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk1b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk2.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. + * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. + * testsuite/ld-i386/property-x86-shstk4.d: Likewise. + * testsuite/ld-i386/property-x86-shstk5.d: Likewise. + * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. + * testsuite/ld-x86-64/pr23372c.d: Likewise. + * testsuite/ld-x86-64/pr23486c.d: Likewise. + * testsuite/ld-x86-64/pr23486d-x32.d: Likewise. + * testsuite/ld-x86-64/pr23486d.d: Likewise. + * testsuite/ld-x86-64/pr24322a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322a.d: Likewise. + * testsuite/ld-x86-64/pr24322b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24322b.d: Likewise. + * testsuite/ld-x86-64/pr24458a-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458a.d: Likewise. + * testsuite/ld-x86-64/pr24458b-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458b.d: Likewise. + * testsuite/ld-x86-64/pr24458c-x32.d: Likewise. + * testsuite/ld-x86-64/pr24458c.d: Likewise. + * testsuite/ld-x86-64/property-1a.r: Likewise. + * testsuite/ld-x86-64/property-2a.r: Likewise. + * testsuite/ld-x86-64/property-3.r: Likewise. + * testsuite/ld-x86-64/property-3a.r: Likewise. + * testsuite/ld-x86-64/property-4.r: Likewise. + * testsuite/ld-x86-64/property-4a.r: Likewise. + * testsuite/ld-x86-64/property-5.r: Likewise. + * testsuite/ld-x86-64/property-5a.r: Likewise. + * testsuite/ld-x86-64/property-7a.r: Likewise. + * testsuite/ld-x86-64/property-x86-3-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-3.d: Likewise. + * testsuite/ld-x86-64/property-x86-4a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-4a.d: Likewise. + * testsuite/ld-x86-64/property-x86-5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-5.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet1-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet1.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet2a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5a.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-cet5b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt1b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt2-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt2.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt4-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt4.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-ibt5.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk1b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk2-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk2.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3a.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk3b.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk4-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk4.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk5-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-shstk5.d: Likewise. + * testsuite/ld-i386/i386.exp: Run property-x86-6, + property-x86-isa1, property-x86-isa2 and property-x86-isa3. + * testsuite/ld-i386/property-x86-1.S: Updated to the current + GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED + values. + * testsuite/ld-i386/property-x86-2.S: Likewise. + * testsuite/ld-i386/property-x86-3.s: Likewise. + * testsuite/ld-x86-64/pr23372d.s: Likewise. + * testsuite/ld-x86-64/pr23372e.s: Likewise. + * testsuite/ld-x86-64/pr23372f.s: Likewise. + * testsuite/ld-x86-64/pr23486c.s: Likewise. + * testsuite/ld-x86-64/pr23486d.s: Likewise. + * testsuite/ld-x86-64/property-x86-1.S: Likewise. + * testsuite/ld-x86-64/property-x86-2.S: Likewise. + * testsuite/ld-x86-64/property-x86-3.s: Likewise. + * testsuite/ld-x86-64/property-x86-5a.s: Likewise. + * testsuite/ld-x86-64/property-x86-5b.s: Likewise. + * testsuite/ld-i386/property-x86-6.d: New file. + * testsuite/ld-i386/property-x86-isa1.d: Likewise. + * testsuite/ld-i386/property-x86-isa2.d: Likewise. + * testsuite/ld-i386/property-x86-isa3.d: Likewise. + * testsuite/ld-x86-64/property-x86-6-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-6.d: Likewise. + * testsuite/ld-x86-64/property-x86-6.s: Likewise. + * testsuite/ld-x86-64/property-x86-isa1-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-isa1.d: Likewise. + * testsuite/ld-x86-64/property-x86-isa1.s: Likewise. + * testsuite/ld-x86-64/property-x86-isa2-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-isa2.d: Likewise. + * testsuite/ld-x86-64/property-x86-isa3-x32.d: Likewise. + * testsuite/ld-x86-64/property-x86-isa3.d: Likewise. + * testsuite/ld-x86-64/simple.s: Likewise. + * ld/testsuite/ld-x86-64/x86-64.exp: Run property-x86-6, + property-x86-6-x32, property-x86-isa1, property-x86-isa1-x32, + property-x86-isa2, property-x86-isa2-x32, property-x86-isa3-x32 + and property-x86-isa3. + 2020-10-06 H.J. Lu <hongjiu.lu@intel.com> * testsuite/ld-i386/property-3.r: Updated for Fedora binary @@ -1,5 +1,8 @@ -*- text -*- +* Add -z x86-64-v[234] to the x86 ELF linker to mark x86-64-v[234] ISA + level as needed. + * Add -z unique-symbol to avoid duplicated local symbol names. * The creation of PE format DLLs now defaults to using a more secure set of DLL diff --git a/ld/emulparams/elf32_x86_64.sh b/ld/emulparams/elf32_x86_64.sh index 1f672c6..0d7c714 100644 --- a/ld/emulparams/elf32_x86_64.sh +++ b/ld/emulparams/elf32_x86_64.sh @@ -4,6 +4,7 @@ source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh source_sh ${srcdir}/emulparams/reloc_overflow.sh source_sh ${srcdir}/emulparams/call_nop.sh source_sh ${srcdir}/emulparams/cet.sh +source_sh ${srcdir}/emulparams/x86-64-level.sh source_sh ${srcdir}/emulparams/static.sh SCRIPT_NAME=elf ELFSIZE=32 diff --git a/ld/emulparams/elf_i386.sh b/ld/emulparams/elf_i386.sh index c98d5e6..741633f 100644 --- a/ld/emulparams/elf_i386.sh +++ b/ld/emulparams/elf_i386.sh @@ -3,6 +3,7 @@ source_sh ${srcdir}/emulparams/extern_protected_data.sh source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh source_sh ${srcdir}/emulparams/call_nop.sh source_sh ${srcdir}/emulparams/cet.sh +source_sh ${srcdir}/emulparams/x86-64-level.sh source_sh ${srcdir}/emulparams/static.sh SCRIPT_NAME=elf OUTPUT_FORMAT="elf32-i386" diff --git a/ld/emulparams/elf_x86_64.sh b/ld/emulparams/elf_x86_64.sh index be98082..5996055 100644 --- a/ld/emulparams/elf_x86_64.sh +++ b/ld/emulparams/elf_x86_64.sh @@ -4,6 +4,7 @@ source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh source_sh ${srcdir}/emulparams/reloc_overflow.sh source_sh ${srcdir}/emulparams/call_nop.sh source_sh ${srcdir}/emulparams/cet.sh +source_sh ${srcdir}/emulparams/x86-64-level.sh source_sh ${srcdir}/emulparams/static.sh SCRIPT_NAME=elf ELFSIZE=64 diff --git a/ld/emulparams/x86-64-level.sh b/ld/emulparams/x86-64-level.sh new file mode 100644 index 0000000..efa75ca --- /dev/null +++ b/ld/emulparams/x86-64-level.sh @@ -0,0 +1,18 @@ +PARSE_AND_LIST_OPTIONS_X86_64_LEVEL=' + fprintf (file, _("\ + -z x86-64-v[234] Mark x86-64-v[234] ISA level as needed\n")); +' +PARSE_AND_LIST_ARGS_CASE_Z_X86_64_LEVEL=' + else if (strncmp (optarg, "x86-64-v", 8) == 0) + { + char *end; + unsigned int level = strtoul (optarg + 8 , &end, 10); + if (*end != '\0' || level < 2 || level > 4) + einfo (_("%F%P: invalid x86-64 ISA level: %s\n"), + optarg); + params.isa_level = level; + } +' + +PARSE_AND_LIST_OPTIONS="$PARSE_AND_LIST_OPTIONS $PARSE_AND_LIST_OPTIONS_X86_64_LEVEL" +PARSE_AND_LIST_ARGS_CASE_Z="$PARSE_AND_LIST_ARGS_CASE_Z $PARSE_AND_LIST_ARGS_CASE_Z_X86_64_LEVEL" @@ -1419,6 +1419,15 @@ Do not report unresolved symbol references from regular object files, either when creating an executable, or when creating a shared library. This option is the inverse of @samp{-z defs}. +@item x86-64-v2 +@item x86-64-v3 +@itemx x86-64-v4 +Specify the x86-64 ISA level needed in .note.gnu.property section. +@option{x86-64-v2} generates @code{GNU_PROPERTY_X86_ISA_1_V2}. +@option{x86-64-v3} generates @code{GNU_PROPERTY_X86_ISA_1_V3}. +@option{x86-64-v4} generates @code{GNU_PROPERTY_X86_ISA_1_V4}. +Supported for Linux/i386 and Linux/x86_64. + @end table Other keywords are ignored for Solaris compatibility. diff --git a/ld/testsuite/ld-elf/x86-feature-1a.rd b/ld/testsuite/ld-elf/x86-feature-1a.rd index db7718a..fda3063 100644 --- a/ld/testsuite/ld-elf/x86-feature-1a.rd +++ b/ld/testsuite/ld-elf/x86-feature-1a.rd @@ -2,5 +2,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-elf/x86-feature-1b.rd b/ld/testsuite/ld-elf/x86-feature-1b.rd index 81a8d8d..b0d6f64 100644 --- a/ld/testsuite/ld-elf/x86-feature-1b.rd +++ b/ld/testsuite/ld-elf/x86-feature-1b.rd @@ -2,5 +2,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-elf/x86-feature-1c.rd b/ld/testsuite/ld-elf/x86-feature-1c.rd index 81a8d8d..b0d6f64 100644 --- a/ld/testsuite/ld-elf/x86-feature-1c.rd +++ b/ld/testsuite/ld-elf/x86-feature-1c.rd @@ -2,5 +2,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-elf/x86-feature-1d.rd b/ld/testsuite/ld-elf/x86-feature-1d.rd index 3dea012..d5c3deb 100644 --- a/ld/testsuite/ld-elf/x86-feature-1d.rd +++ b/ld/testsuite/ld-elf/x86-feature-1d.rd @@ -2,5 +2,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: <None> - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-elf/x86-feature-1e.rd b/ld/testsuite/ld-elf/x86-feature-1e.rd index 8ad7d43..eb82ef2 100644 --- a/ld/testsuite/ld-elf/x86-feature-1e.rd +++ b/ld/testsuite/ld-elf/x86-feature-1e.rd @@ -2,5 +2,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index cd7b4de..0b1538e 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -422,6 +422,7 @@ run_dump_test "property-x86-3" run_dump_test "property-x86-4a" run_dump_test "property-x86-4b" run_dump_test "property-x86-5" +run_dump_test "property-x86-6" run_dump_test "property-x86-ibt1a" run_dump_test "property-x86-ibt1b" run_dump_test "property-x86-ibt2" @@ -475,6 +476,9 @@ run_dump_test "pr26263" run_dump_test "pr26711-1" run_dump_test "pr26711-2" run_dump_test "pr26711-3" +run_dump_test "property-x86-isa1" +run_dump_test "property-x86-isa2" +run_dump_test "property-x86-isa3" if { !([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"] diff --git a/ld/testsuite/ld-i386/pr23372c.d b/ld/testsuite/ld-i386/pr23372c.d index 59fdc23..fffd680 100644 --- a/ld/testsuite/ld-i386/pr23372c.d +++ b/ld/testsuite/ld-i386/pr23372c.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> + Properties: x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/pr23486c.d b/ld/testsuite/ld-i386/pr23486c.d index 30d2259..92765f5 100644 --- a/ld/testsuite/ld-i386/pr23486c.d +++ b/ld/testsuite/ld-i386/pr23486c.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE + Properties: x86 ISA needed: x86-64-v2, x86-64-v3 diff --git a/ld/testsuite/ld-i386/pr23486d.d b/ld/testsuite/ld-i386/pr23486d.d index 025b8e0..c673e8e 100644 --- a/ld/testsuite/ld-i386/pr23486d.d +++ b/ld/testsuite/ld-i386/pr23486d.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE + Properties: x86 ISA needed: x86-64-v2, x86-64-v3 diff --git a/ld/testsuite/ld-i386/pr24322a.d b/ld/testsuite/ld-i386/pr24322a.d index a77a85c..a273e68 100644 --- a/ld/testsuite/ld-i386/pr24322a.d +++ b/ld/testsuite/ld-i386/pr24322a.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/pr24322b.d b/ld/testsuite/ld-i386/pr24322b.d index 62e8246..244d8c3 100644 --- a/ld/testsuite/ld-i386/pr24322b.d +++ b/ld/testsuite/ld-i386/pr24322b.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-1a.r b/ld/testsuite/ld-i386/property-1a.r index 85615f1..cbdd647 100644 --- a/ld/testsuite/ld-i386/property-1a.r +++ b/ld/testsuite/ld-i386/property-1a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: no copy on protected - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline #pass diff --git a/ld/testsuite/ld-i386/property-2a.r b/ld/testsuite/ld-i386/property-2a.r index a85ef0e..51bfde8 100644 --- a/ld/testsuite/ld-i386/property-2a.r +++ b/ld/testsuite/ld-i386/property-2a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline #pass diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r index e95d47a..3578823 100644 --- a/ld/testsuite/ld-i386/property-3.r +++ b/ld/testsuite/ld-i386/property-3.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 #... - x86 ISA needed: CMOV, SSE + x86 ISA needed: x86-64-v2, x86-64-v3 #pass diff --git a/ld/testsuite/ld-i386/property-3a.r b/ld/testsuite/ld-i386/property-3a.r index 2201c98..89cc8fa 100644 --- a/ld/testsuite/ld-i386/property-3a.r +++ b/ld/testsuite/ld-i386/property-3a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 - x86 ISA needed: CMOV, SSE - x86 ISA used: SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3 x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r index a4b7bb7..a024b2a 100644 --- a/ld/testsuite/ld-i386/property-4.r +++ b/ld/testsuite/ld-i386/property-4.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 #... - x86 ISA needed: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-i386/property-4a.r b/ld/testsuite/ld-i386/property-4a.r index 8448cc7..ff61875 100644 --- a/ld/testsuite/ld-i386/property-4a.r +++ b/ld/testsuite/ld-i386/property-4a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 - x86 ISA needed: CMOV, SSE, SSE3 - x86 ISA used: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r index 5ff9564..eb24e3a 100644 --- a/ld/testsuite/ld-i386/property-5.r +++ b/ld/testsuite/ld-i386/property-5.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x900000 #... - x86 ISA needed: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-i386/property-5a.r b/ld/testsuite/ld-i386/property-5a.r index 9388a07..c99af9e 100644 --- a/ld/testsuite/ld-i386/property-5a.r +++ b/ld/testsuite/ld-i386/property-5a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x900000 - x86 ISA needed: CMOV, SSE, SSE3 - x86 ISA used: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-i386/property-7a.r b/ld/testsuite/ld-i386/property-7a.r index 1cce5d9..c97fc72 100644 --- a/ld/testsuite/ld-i386/property-7a.r +++ b/ld/testsuite/ld-i386/property-7a.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 no copy on protected - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-1.S b/ld/testsuite/ld-i386/property-x86-1.S index f0b8fc0..cb0a2cf 100644 --- a/ld/testsuite/ld-i386/property-x86-1.S +++ b/ld/testsuite/ld-i386/property-x86-1.S @@ -16,14 +16,14 @@ 5: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa 5: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x3 diff --git a/ld/testsuite/ld-i386/property-x86-2.S b/ld/testsuite/ld-i386/property-x86-2.S index 3987681..01c755f 100644 --- a/ld/testsuite/ld-i386/property-x86-2.S +++ b/ld/testsuite/ld-i386/property-x86-2.S @@ -9,14 +9,14 @@ 1: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x3 5: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa diff --git a/ld/testsuite/ld-i386/property-x86-3.d b/ld/testsuite/ld-i386/property-x86-3.d index 8b3ddb5..059388d 100644 --- a/ld/testsuite/ld-i386/property-x86-3.d +++ b/ld/testsuite/ld-i386/property-x86-3.d @@ -5,6 +5,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX - x86 ISA used: CMOV, SSE, SSSE3, SSE4_1 + Properties: x86 ISA needed: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> diff --git a/ld/testsuite/ld-i386/property-x86-3.s b/ld/testsuite/ld-i386/property-x86-3.s index 7e5924f..f137b71 100644 --- a/ld/testsuite/ld-i386/property-x86-3.s +++ b/ld/testsuite/ld-i386/property-x86-3.s @@ -9,14 +9,14 @@ 1: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x3 5: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa @@ -35,14 +35,14 @@ 1: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x30 5: .p2align 2 /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa0 diff --git a/ld/testsuite/ld-i386/property-x86-4a.d b/ld/testsuite/ld-i386/property-x86-4a.d index e28562a..3006627 100644 --- a/ld/testsuite/ld-i386/property-x86-4a.d +++ b/ld/testsuite/ld-i386/property-x86-4a.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 Properties: no copy on protected - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-5.d b/ld/testsuite/ld-i386/property-x86-5.d index dc9b67c..71faa63 100644 --- a/ld/testsuite/ld-i386/property-x86-5.d +++ b/ld/testsuite/ld-i386/property-x86-5.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV - x86 ISA used: <None> + Properties: x86 ISA needed: x86-64-v2 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-6.d b/ld/testsuite/ld-i386/property-x86-6.d new file mode 100644 index 0000000..95c64b2 --- /dev/null +++ b/ld/testsuite/ld-i386/property-x86-6.d @@ -0,0 +1,10 @@ +#source: ../ld-x86-64/property-x86-6.s +#as: --32 -mx86-used-note=no +#ld: -shared -m elf_i386 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 + x86 ISA used: SSE, SSE3, SSE4_1, AVX diff --git a/ld/testsuite/ld-i386/property-x86-cet1.d b/ld/testsuite/ld-i386/property-x86-cet1.d index f2cf7a6..fbce0bb 100644 --- a/ld/testsuite/ld-i386/property-x86-cet1.d +++ b/ld/testsuite/ld-i386/property-x86-cet1.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-cet2a.d b/ld/testsuite/ld-i386/property-x86-cet2a.d index 93b871e..655762d 100644 --- a/ld/testsuite/ld-i386/property-x86-cet2a.d +++ b/ld/testsuite/ld-i386/property-x86-cet2a.d @@ -10,6 +10,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX - x86 ISA used: CMOV, SSE, SSSE3, SSE4_1 + Properties: x86 ISA needed: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> diff --git a/ld/testsuite/ld-i386/property-x86-cet5a.d b/ld/testsuite/ld-i386/property-x86-cet5a.d index 412f4dc..bd7e2ed 100644 --- a/ld/testsuite/ld-i386/property-x86-cet5a.d +++ b/ld/testsuite/ld-i386/property-x86-cet5a.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-cet5b.d b/ld/testsuite/ld-i386/property-x86-cet5b.d index 868b003..0b47267 100644 --- a/ld/testsuite/ld-i386/property-x86-cet5b.d +++ b/ld/testsuite/ld-i386/property-x86-cet5b.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-ibt1a.d b/ld/testsuite/ld-i386/property-x86-ibt1a.d index 989b99c..1fee1ae 100644 --- a/ld/testsuite/ld-i386/property-x86-ibt1a.d +++ b/ld/testsuite/ld-i386/property-x86-ibt1a.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-ibt1b.d b/ld/testsuite/ld-i386/property-x86-ibt1b.d index 1aa80cb..adb00d7 100644 --- a/ld/testsuite/ld-i386/property-x86-ibt1b.d +++ b/ld/testsuite/ld-i386/property-x86-ibt1b.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-ibt2.d b/ld/testsuite/ld-i386/property-x86-ibt2.d index bd47f95..68aa0fe 100644 --- a/ld/testsuite/ld-i386/property-x86-ibt2.d +++ b/ld/testsuite/ld-i386/property-x86-ibt2.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d index 7e6079c..290bcac 100644 --- a/ld/testsuite/ld-i386/property-x86-ibt3a.d +++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX - x86 ISA used: CMOV, SSE, SSSE3, SSE4_1 + Properties: x86 ISA needed: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d index 861fec9..0ac9e7f 100644 --- a/ld/testsuite/ld-i386/property-x86-ibt3b.d +++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX - x86 ISA used: CMOV, SSE, SSSE3, SSE4_1 + Properties: x86 ISA needed: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> diff --git a/ld/testsuite/ld-i386/property-x86-ibt4.d b/ld/testsuite/ld-i386/property-x86-ibt4.d index e271cc9..0e613e2 100644 --- a/ld/testsuite/ld-i386/property-x86-ibt4.d +++ b/ld/testsuite/ld-i386/property-x86-ibt4.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-ibt5.d b/ld/testsuite/ld-i386/property-x86-ibt5.d index 2245369..23da096 100644 --- a/ld/testsuite/ld-i386/property-x86-ibt5.d +++ b/ld/testsuite/ld-i386/property-x86-ibt5.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-isa1.d b/ld/testsuite/ld-i386/property-x86-isa1.d new file mode 100644 index 0000000..22ac02b --- /dev/null +++ b/ld/testsuite/ld-i386/property-x86-isa1.d @@ -0,0 +1,11 @@ +#source: ../ld-x86-64/property-x86-isa1.s +#source: ../ld-x86-64/simple.s +#as: --32 -mx86-used-note=no +#ld: -m elf_i386 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v2, x86-64-v4 + <procesor-specific type 0xc0009000 data: 30 00 00 00 > diff --git a/ld/testsuite/ld-i386/property-x86-isa2.d b/ld/testsuite/ld-i386/property-x86-isa2.d new file mode 100644 index 0000000..1dc83a7 --- /dev/null +++ b/ld/testsuite/ld-i386/property-x86-isa2.d @@ -0,0 +1,9 @@ +#source: ../ld-x86-64/simple.s +#as: --32 -mx86-used-note=no +#ld: -m elf_i386 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v4 diff --git a/ld/testsuite/ld-i386/property-x86-isa3.d b/ld/testsuite/ld-i386/property-x86-isa3.d new file mode 100644 index 0000000..60b20d2 --- /dev/null +++ b/ld/testsuite/ld-i386/property-x86-isa3.d @@ -0,0 +1,9 @@ +#source: ../ld-x86-64/simple.s +#as: --32 -mx86-used-note=no +#ld: -r -m elf_i386 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v4 diff --git a/ld/testsuite/ld-i386/property-x86-shstk1a.d b/ld/testsuite/ld-i386/property-x86-shstk1a.d index 93586d4..ab774dc 100644 --- a/ld/testsuite/ld-i386/property-x86-shstk1a.d +++ b/ld/testsuite/ld-i386/property-x86-shstk1a.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-shstk1b.d b/ld/testsuite/ld-i386/property-x86-shstk1b.d index 3916bac..97517c3 100644 --- a/ld/testsuite/ld-i386/property-x86-shstk1b.d +++ b/ld/testsuite/ld-i386/property-x86-shstk1b.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-shstk2.d b/ld/testsuite/ld-i386/property-x86-shstk2.d index 3c24ee5..9700302 100644 --- a/ld/testsuite/ld-i386/property-x86-shstk2.d +++ b/ld/testsuite/ld-i386/property-x86-shstk2.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d index 9d2ce55..1b6da4f 100644 --- a/ld/testsuite/ld-i386/property-x86-shstk3a.d +++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX - x86 ISA used: CMOV, SSE, SSSE3, SSE4_1 + Properties: x86 ISA needed: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d index 86f4395..98a1562 100644 --- a/ld/testsuite/ld-i386/property-x86-shstk3b.d +++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX - x86 ISA used: CMOV, SSE, SSSE3, SSE4_1 + Properties: x86 ISA needed: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> diff --git a/ld/testsuite/ld-i386/property-x86-shstk4.d b/ld/testsuite/ld-i386/property-x86-shstk4.d index 84dda93..fa4c88c 100644 --- a/ld/testsuite/ld-i386/property-x86-shstk4.d +++ b/ld/testsuite/ld-i386/property-x86-shstk4.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-i386/property-x86-shstk5.d b/ld/testsuite/ld-i386/property-x86-shstk5.d index 613daa4..64a3539 100644 --- a/ld/testsuite/ld-i386/property-x86-shstk5.d +++ b/ld/testsuite/ld-i386/property-x86-shstk5.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr23372c-x32.d b/ld/testsuite/ld-x86-64/pr23372c-x32.d index e01a766..5698ec2 100644 --- a/ld/testsuite/ld-x86-64/pr23372c-x32.d +++ b/ld/testsuite/ld-x86-64/pr23372c-x32.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> + Properties: x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr23372c.d b/ld/testsuite/ld-x86-64/pr23372c.d index 359cc09..e1281b2 100644 --- a/ld/testsuite/ld-x86-64/pr23372c.d +++ b/ld/testsuite/ld-x86-64/pr23372c.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> + Properties: x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr23372d.s b/ld/testsuite/ld-x86-64/pr23372d.s index cec05cd..3875c94 100644 --- a/ld/testsuite/ld-x86-64/pr23372d.s +++ b/ld/testsuite/ld-x86-64/pr23372d.s @@ -17,7 +17,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 3f - 2f /* pr_datasz. */ 2: .long 0x0 diff --git a/ld/testsuite/ld-x86-64/pr23372e.s b/ld/testsuite/ld-x86-64/pr23372e.s index cec05cd..3875c94 100644 --- a/ld/testsuite/ld-x86-64/pr23372e.s +++ b/ld/testsuite/ld-x86-64/pr23372e.s @@ -17,7 +17,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 3f - 2f /* pr_datasz. */ 2: .long 0x0 diff --git a/ld/testsuite/ld-x86-64/pr23372f.s b/ld/testsuite/ld-x86-64/pr23372f.s index 57797c8..6d79c14 100644 --- a/ld/testsuite/ld-x86-64/pr23372f.s +++ b/ld/testsuite/ld-x86-64/pr23372f.s @@ -17,7 +17,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 3f - 2f /* pr_datasz. */ 2: .long 0x0 diff --git a/ld/testsuite/ld-x86-64/pr23486c-x32.d b/ld/testsuite/ld-x86-64/pr23486c-x32.d index 7a5e732..11215f3 100644 --- a/ld/testsuite/ld-x86-64/pr23486c-x32.d +++ b/ld/testsuite/ld-x86-64/pr23486c-x32.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE + Properties: x86 ISA needed: x86-64-v2, x86-64-v3 diff --git a/ld/testsuite/ld-x86-64/pr23486c.d b/ld/testsuite/ld-x86-64/pr23486c.d index cda1f1c..38c54ca 100644 --- a/ld/testsuite/ld-x86-64/pr23486c.d +++ b/ld/testsuite/ld-x86-64/pr23486c.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE + Properties: x86 ISA needed: x86-64-v2, x86-64-v3 diff --git a/ld/testsuite/ld-x86-64/pr23486c.s b/ld/testsuite/ld-x86-64/pr23486c.s index 16bb94d..7860eac 100644 --- a/ld/testsuite/ld-x86-64/pr23486c.s +++ b/ld/testsuite/ld-x86-64/pr23486c.s @@ -17,7 +17,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 3f - 2f /* pr_datasz. */ 2: .long 0xa diff --git a/ld/testsuite/ld-x86-64/pr23486d-x32.d b/ld/testsuite/ld-x86-64/pr23486d-x32.d index 41da74c..74eb4c0 100644 --- a/ld/testsuite/ld-x86-64/pr23486d-x32.d +++ b/ld/testsuite/ld-x86-64/pr23486d-x32.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE + Properties: x86 ISA needed: x86-64-v2, x86-64-v3 diff --git a/ld/testsuite/ld-x86-64/pr23486d.d b/ld/testsuite/ld-x86-64/pr23486d.d index 0ca7c50..4f33523 100644 --- a/ld/testsuite/ld-x86-64/pr23486d.d +++ b/ld/testsuite/ld-x86-64/pr23486d.d @@ -7,4 +7,4 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE + Properties: x86 ISA needed: x86-64-v2, x86-64-v3 diff --git a/ld/testsuite/ld-x86-64/pr23486d.s b/ld/testsuite/ld-x86-64/pr23486d.s index 88f9c11..c399105 100644 --- a/ld/testsuite/ld-x86-64/pr23486d.s +++ b/ld/testsuite/ld-x86-64/pr23486d.s @@ -17,7 +17,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 3f - 2f /* pr_datasz. */ 2: .long 0x3 diff --git a/ld/testsuite/ld-x86-64/pr24322a-x32.d b/ld/testsuite/ld-x86-64/pr24322a-x32.d index f18678d..8009f91 100644 --- a/ld/testsuite/ld-x86-64/pr24322a-x32.d +++ b/ld/testsuite/ld-x86-64/pr24322a-x32.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24322a.d b/ld/testsuite/ld-x86-64/pr24322a.d index a27de4a..6ddb7a7 100644 --- a/ld/testsuite/ld-x86-64/pr24322a.d +++ b/ld/testsuite/ld-x86-64/pr24322a.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24322b-x32.d b/ld/testsuite/ld-x86-64/pr24322b-x32.d index 4e19b8d..76ebd1c 100644 --- a/ld/testsuite/ld-x86-64/pr24322b-x32.d +++ b/ld/testsuite/ld-x86-64/pr24322b-x32.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24322b.d b/ld/testsuite/ld-x86-64/pr24322b.d index f56e211..6ee0146 100644 --- a/ld/testsuite/ld-x86-64/pr24322b.d +++ b/ld/testsuite/ld-x86-64/pr24322b.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24458a-x32.d b/ld/testsuite/ld-x86-64/pr24458a-x32.d index 9b8dc30..9909f17 100644 --- a/ld/testsuite/ld-x86-64/pr24458a-x32.d +++ b/ld/testsuite/ld-x86-64/pr24458a-x32.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24458a.d b/ld/testsuite/ld-x86-64/pr24458a.d index 8319a58..d0fbc33 100644 --- a/ld/testsuite/ld-x86-64/pr24458a.d +++ b/ld/testsuite/ld-x86-64/pr24458a.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24458b-x32.d b/ld/testsuite/ld-x86-64/pr24458b-x32.d index 263c797..9f80ed2 100644 --- a/ld/testsuite/ld-x86-64/pr24458b-x32.d +++ b/ld/testsuite/ld-x86-64/pr24458b-x32.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24458b.d b/ld/testsuite/ld-x86-64/pr24458b.d index 3614d67..ee18948 100644 --- a/ld/testsuite/ld-x86-64/pr24458b.d +++ b/ld/testsuite/ld-x86-64/pr24458b.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24458c-x32.d b/ld/testsuite/ld-x86-64/pr24458c-x32.d index 767038a..7107c3f 100644 --- a/ld/testsuite/ld-x86-64/pr24458c-x32.d +++ b/ld/testsuite/ld-x86-64/pr24458c-x32.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/pr24458c.d b/ld/testsuite/ld-x86-64/pr24458c.d index bc3758f..690088a 100644 --- a/ld/testsuite/ld-x86-64/pr24458c.d +++ b/ld/testsuite/ld-x86-64/pr24458c.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-1a.r b/ld/testsuite/ld-x86-64/property-1a.r index 85615f1..cbdd647 100644 --- a/ld/testsuite/ld-x86-64/property-1a.r +++ b/ld/testsuite/ld-x86-64/property-1a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: no copy on protected - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline #pass diff --git a/ld/testsuite/ld-x86-64/property-2a.r b/ld/testsuite/ld-x86-64/property-2a.r index a85ef0e..51bfde8 100644 --- a/ld/testsuite/ld-x86-64/property-2a.r +++ b/ld/testsuite/ld-x86-64/property-2a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline #pass diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r index e95d47a..3578823 100644 --- a/ld/testsuite/ld-x86-64/property-3.r +++ b/ld/testsuite/ld-x86-64/property-3.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 #... - x86 ISA needed: CMOV, SSE + x86 ISA needed: x86-64-v2, x86-64-v3 #pass diff --git a/ld/testsuite/ld-x86-64/property-3a.r b/ld/testsuite/ld-x86-64/property-3a.r index 2201c98..89cc8fa 100644 --- a/ld/testsuite/ld-x86-64/property-3a.r +++ b/ld/testsuite/ld-x86-64/property-3a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 - x86 ISA needed: CMOV, SSE - x86 ISA used: SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3 x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r index a4b7bb7..a024b2a 100644 --- a/ld/testsuite/ld-x86-64/property-4.r +++ b/ld/testsuite/ld-x86-64/property-4.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 #... - x86 ISA needed: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-x86-64/property-4a.r b/ld/testsuite/ld-x86-64/property-4a.r index 8448cc7..ff61875 100644 --- a/ld/testsuite/ld-x86-64/property-4a.r +++ b/ld/testsuite/ld-x86-64/property-4a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 - x86 ISA needed: CMOV, SSE, SSE3 - x86 ISA used: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r index 5ff9564..eb24e3a 100644 --- a/ld/testsuite/ld-x86-64/property-5.r +++ b/ld/testsuite/ld-x86-64/property-5.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x900000 #... - x86 ISA needed: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-x86-64/property-5a.r b/ld/testsuite/ld-x86-64/property-5a.r index 9388a07..c99af9e 100644 --- a/ld/testsuite/ld-x86-64/property-5a.r +++ b/ld/testsuite/ld-x86-64/property-5a.r @@ -3,7 +3,7 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x900000 - x86 ISA needed: CMOV, SSE, SSE3 - x86 ISA used: CMOV, SSE, SSE3 + x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 8> x86 feature used: x86 + x86 ISA used: x86-64-v2, x86-64-v3, <unknown: 8> #pass diff --git a/ld/testsuite/ld-x86-64/property-7a.r b/ld/testsuite/ld-x86-64/property-7a.r index 1cce5d9..c97fc72 100644 --- a/ld/testsuite/ld-x86-64/property-7a.r +++ b/ld/testsuite/ld-x86-64/property-7a.r @@ -4,5 +4,5 @@ Displaying notes found in: .note.gnu.property GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 Properties: stack size: 0x800000 no copy on protected - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-1.S b/ld/testsuite/ld-x86-64/property-x86-1.S index c950b9d..b669e72 100644 --- a/ld/testsuite/ld-x86-64/property-x86-1.S +++ b/ld/testsuite/ld-x86-64/property-x86-1.S @@ -21,14 +21,14 @@ 5: .p2align ALIGN /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa 5: .p2align ALIGN /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x3 diff --git a/ld/testsuite/ld-x86-64/property-x86-2.S b/ld/testsuite/ld-x86-64/property-x86-2.S index 72056be..b108b17 100644 --- a/ld/testsuite/ld-x86-64/property-x86-2.S +++ b/ld/testsuite/ld-x86-64/property-x86-2.S @@ -14,14 +14,14 @@ 1: .p2align ALIGN /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x3 5: .p2align ALIGN /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa diff --git a/ld/testsuite/ld-x86-64/property-x86-3-x32.d b/ld/testsuite/ld-x86-64/property-x86-3-x32.d index ef70a64..5125a7a 100644 --- a/ld/testsuite/ld-x86-64/property-x86-3-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-3-x32.d @@ -6,6 +6,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-3.d b/ld/testsuite/ld-x86-64/property-x86-3.d index 1d191be..9742308 100644 --- a/ld/testsuite/ld-x86-64/property-x86-3.d +++ b/ld/testsuite/ld-x86-64/property-x86-3.d @@ -5,6 +5,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-3.s b/ld/testsuite/ld-x86-64/property-x86-3.s index 8c9d6da..cce71da 100644 --- a/ld/testsuite/ld-x86-64/property-x86-3.s +++ b/ld/testsuite/ld-x86-64/property-x86-3.s @@ -17,7 +17,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa @@ -28,7 +28,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x3 @@ -59,7 +59,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0xa0 @@ -70,7 +70,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x30 diff --git a/ld/testsuite/ld-x86-64/property-x86-4a-x32.d b/ld/testsuite/ld-x86-64/property-x86-4a-x32.d index 07c5081..cf5046f 100644 --- a/ld/testsuite/ld-x86-64/property-x86-4a-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-4a-x32.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 Properties: no copy on protected - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-4a.d b/ld/testsuite/ld-x86-64/property-x86-4a.d index 6ae427e..7c2bb78 100644 --- a/ld/testsuite/ld-x86-64/property-x86-4a.d +++ b/ld/testsuite/ld-x86-64/property-x86-4a.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000028 NT_GNU_PROPERTY_TYPE_0 Properties: no copy on protected - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-5-x32.d b/ld/testsuite/ld-x86-64/property-x86-5-x32.d index 8e6b8e5..8f62e3b 100644 --- a/ld/testsuite/ld-x86-64/property-x86-5-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-5-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV - x86 ISA used: <None> + Properties: x86 ISA needed: x86-64-v2 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-5.d b/ld/testsuite/ld-x86-64/property-x86-5.d index dd1da83..3ba1f48 100644 --- a/ld/testsuite/ld-x86-64/property-x86-5.d +++ b/ld/testsuite/ld-x86-64/property-x86-5.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV - x86 ISA used: <None> + Properties: x86 ISA needed: x86-64-v2 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-5a.s b/ld/testsuite/ld-x86-64/property-x86-5a.s index 990c468..755facd 100644 --- a/ld/testsuite/ld-x86-64/property-x86-5a.s +++ b/ld/testsuite/ld-x86-64/property-x86-5a.s @@ -22,7 +22,7 @@ _start: .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_NEEDED */ - .long 0xc0008000 /* pr_type. */ + .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x1 @@ -38,7 +38,7 @@ _start: .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x0 diff --git a/ld/testsuite/ld-x86-64/property-x86-5b.s b/ld/testsuite/ld-x86-64/property-x86-5b.s index 1f90dfc..7851481 100644 --- a/ld/testsuite/ld-x86-64/property-x86-5b.s +++ b/ld/testsuite/ld-x86-64/property-x86-5b.s @@ -17,7 +17,7 @@ .p2align 2 .endif /* GNU_PROPERTY_X86_ISA_1_USED */ - .long 0xc0010000 /* pr_type. */ + .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: .long 0x0 diff --git a/ld/testsuite/ld-x86-64/property-x86-6-x32.d b/ld/testsuite/ld-x86-64/property-x86-6-x32.d new file mode 100644 index 0000000..57aa3c2 --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-6-x32.d @@ -0,0 +1,10 @@ +#source: property-x86-6.s +#as: --x32 -mx86-used-note=no +#ld: -shared -m elf32_x86_64 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 + x86 ISA used: SSE, SSE3, SSE4_1, AVX diff --git a/ld/testsuite/ld-x86-64/property-x86-6.d b/ld/testsuite/ld-x86-64/property-x86-6.d new file mode 100644 index 0000000..8639f9f --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-6.d @@ -0,0 +1,9 @@ +#as: --64 -defsym __64_bit__=1 -mx86-used-note=no +#ld: -shared -m elf_x86_64 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 + x86 ISA used: SSE, SSE3, SSE4_1, AVX diff --git a/ld/testsuite/ld-x86-64/property-x86-6.s b/ld/testsuite/ld-x86-64/property-x86-6.s new file mode 100644 index 0000000..9a2f8f4 --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-6.s @@ -0,0 +1,83 @@ + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length. */ + .long 3f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ + .long 5 /* note type. */ +0: + .asciz "GNU" /* vendor name. */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED */ + .long 0xc0010000 /* pr_type. */ + .long 5f - 4f /* pr_datasz. */ +4: + .long 0xa +5: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED */ + .long 0xc0008000 /* pr_type. */ + .long 5f - 4f /* pr_datasz. */ +4: + .long 0x3 +5: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +3: + + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length. */ + .long 3f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ + .long 5 /* note type. */ +0: + .asciz "GNU" /* vendor name. */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_COMPAT_2_ISA_1_USED */ + .long 0xc0010000 /* pr_type. */ + .long 5f - 4f /* pr_datasz. */ +4: + .long 0xa0 +5: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_COMPAT_2_ISA_1_NEEDED */ + .long 0xc0008000 /* pr_type. */ + .long 5f - 4f /* pr_datasz. */ +4: + .long 0x30 +5: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +3: diff --git a/ld/testsuite/ld-x86-64/property-x86-cet1-x32.d b/ld/testsuite/ld-x86-64/property-x86-cet1-x32.d index 3b4391a..25cf016 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet1-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet1-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-cet1.d b/ld/testsuite/ld-x86-64/property-x86-cet1.d index abf76c5..3e79729 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet1.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet1.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d b/ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d index 55996c9..2f1facb 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d @@ -10,6 +10,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-cet2a.d b/ld/testsuite/ld-x86-64/property-x86-cet2a.d index 2d7ad8c..9e3560c 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet2a.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet2a.d @@ -10,6 +10,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d b/ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d index 6520e56..928cc13 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-cet5a.d b/ld/testsuite/ld-x86-64/property-x86-cet5a.d index 6a05136..e36db37 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet5a.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet5a.d @@ -6,5 +6,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d b/ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d index da3c854..890d070 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-cet5b.d b/ld/testsuite/ld-x86-64/property-x86-cet5b.d index 1c5681d..4f81698 100644 --- a/ld/testsuite/ld-x86-64/property-x86-cet5b.d +++ b/ld/testsuite/ld-x86-64/property-x86-cet5b.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT, SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d index 4ce851a..ba0de1b 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt1a.d b/ld/testsuite/ld-x86-64/property-x86-ibt1a.d index 5f9836f..c5caf30 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt1a.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt1a.d @@ -8,5 +8,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d index 2e6c45e..a891894 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt1b.d b/ld/testsuite/ld-x86-64/property-x86-ibt1b.d index 18020c6..5120c01 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt1b.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt1b.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d index eca7956..3946aec 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt2.d b/ld/testsuite/ld-x86-64/property-x86-ibt2.d index ddf9cc3..2a55017 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt2.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt2.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d index 2d9cd35..ea4254e 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d index fc32d70..f74b2d1 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d index a17c121..a2ad6f8 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d index 2425c31..ab6bfb6 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d index f6f67db..95155c5 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt4.d b/ld/testsuite/ld-x86-64/property-x86-ibt4.d index ab02175..496c00c 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt4.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt4.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d b/ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d index 5e3c6df..d9bf59e 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt5.d b/ld/testsuite/ld-x86-64/property-x86-ibt5.d index cdf8ead..212c3b2 100644 --- a/ld/testsuite/ld-x86-64/property-x86-ibt5.d +++ b/ld/testsuite/ld-x86-64/property-x86-ibt5.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: IBT - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-isa1-x32.d b/ld/testsuite/ld-x86-64/property-x86-isa1-x32.d new file mode 100644 index 0000000..e50e135 --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-isa1-x32.d @@ -0,0 +1,11 @@ +#source: property-x86-isa1.s +#source: simple.s +#as: --x32 -mx86-used-note=no +#ld: -m elf32_x86_64 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v2, x86-64-v4 + <procesor-specific type 0xc0009000 data: 30 00 00 00 > diff --git a/ld/testsuite/ld-x86-64/property-x86-isa1.d b/ld/testsuite/ld-x86-64/property-x86-isa1.d new file mode 100644 index 0000000..fd05ade --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-isa1.d @@ -0,0 +1,11 @@ +#source: property-x86-isa1.s +#source: simple.s +#as: --64 -defsym __64_bit__=1 -mx86-used-note=no +#ld: -m elf_x86_64 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v2, x86-64-v4 + <procesor-specific type 0xc0009000 data: 30 00 00 00 > diff --git a/ld/testsuite/ld-x86-64/property-x86-isa1.s b/ld/testsuite/ld-x86-64/property-x86-isa1.s new file mode 100644 index 0000000..938dc78 --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-isa1.s @@ -0,0 +1,54 @@ + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length */ + .long 5f - 2f /* data length */ + .long 5 /* note type */ +0: .asciz "GNU" /* vendor name */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +2: .long 0xc0008002 /* pr_type. */ + .long 4f - 3f /* pr_datasz. */ +3: + .long 0x1 +4: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +5: + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length */ + .long 5f - 2f /* data length */ + .long 5 /* note type */ +0: .asciz "GNU" /* vendor name */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +2: .long 0xc0009000 /* pr_type. */ + .long 4f - 3f /* pr_datasz. */ +3: + .long 0x30 +4: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +5: diff --git a/ld/testsuite/ld-x86-64/property-x86-isa2-x32.d b/ld/testsuite/ld-x86-64/property-x86-isa2-x32.d new file mode 100644 index 0000000..c0f1607 --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-isa2-x32.d @@ -0,0 +1,9 @@ +#source: simple.s +#as: --x32 -mx86-used-note=no +#ld: -m elf32_x86_64 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v4 diff --git a/ld/testsuite/ld-x86-64/property-x86-isa2.d b/ld/testsuite/ld-x86-64/property-x86-isa2.d new file mode 100644 index 0000000..6a1d5ef --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-isa2.d @@ -0,0 +1,9 @@ +#source: simple.s +#as: --64 -defsym __64_bit__=1 -mx86-used-note=no +#ld: -m elf_x86_64 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v4 diff --git a/ld/testsuite/ld-x86-64/property-x86-isa3-x32.d b/ld/testsuite/ld-x86-64/property-x86-isa3-x32.d new file mode 100644 index 0000000..864e452 --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-isa3-x32.d @@ -0,0 +1,9 @@ +#source: simple.s +#as: --x32 -mx86-used-note=no +#ld: -r -m elf32_x86_64 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v4 diff --git a/ld/testsuite/ld-x86-64/property-x86-isa3.d b/ld/testsuite/ld-x86-64/property-x86-isa3.d new file mode 100644 index 0000000..5d2fe8a --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-x86-isa3.d @@ -0,0 +1,9 @@ +#source: simple.s +#as: --64 -defsym __64_bit__=1 -mx86-used-note=no +#ld: -r -m elf_x86_64 -z x86-64-v4 +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x[0-9a-f]+ NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-v4 diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d index 4bb55e5..bc98572 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk1a.d b/ld/testsuite/ld-x86-64/property-x86-shstk1a.d index 7882df6..b61d272 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk1a.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk1a.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d index a815c0d..28807f2 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk1b.d b/ld/testsuite/ld-x86-64/property-x86-shstk1b.d index 5977760..d30e15c 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk1b.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk1b.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA used: <None> - x86 feature used: x86 + Properties: x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d index 7321b60..66839c3 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk2.d b/ld/testsuite/ld-x86-64/property-x86-shstk2.d index e91c100..e75dc3a 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk2.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk2.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d index 3447f55..f73ded6 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d index 0c647c9..a653cf2 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d index 02bffac..893bf31 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d index 0422825..b7be8bc 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d @@ -7,6 +7,6 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 - Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1 - x86 ISA used: SSE, SSE3, SSE4_1, AVX + Properties: x86 ISA needed: x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> x86 feature used: x86 + x86 ISA used: x86-64-v3, <unknown: 8>, <unknown: 20>, <unknown: 80> diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d index 101fdfc..a04e304 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk4.d b/ld/testsuite/ld-x86-64/property-x86-shstk4.d index c31dc38..04cce50 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk4.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk4.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d b/ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d index 3528489..f78e6f4 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk5.d b/ld/testsuite/ld-x86-64/property-x86-shstk5.d index aac1626..c96782c 100644 --- a/ld/testsuite/ld-x86-64/property-x86-shstk5.d +++ b/ld/testsuite/ld-x86-64/property-x86-shstk5.d @@ -7,5 +7,5 @@ Displaying notes found in: .note.gnu.property [ ]+Owner[ ]+Data size[ ]+Description GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0 Properties: x86 feature: SHSTK - x86 ISA used: <None> x86 feature used: x86 + x86 ISA used: x86-64-baseline diff --git a/ld/testsuite/ld-x86-64/simple.s b/ld/testsuite/ld-x86-64/simple.s new file mode 100644 index 0000000..b2b025b --- /dev/null +++ b/ld/testsuite/ld-x86-64/simple.s @@ -0,0 +1,4 @@ + .text + .globl _start +_start: + ret diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 59cad54..9170207 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -323,6 +323,8 @@ run_dump_test "property-x86-4a-x32" run_dump_test "property-x86-4b-x32" run_dump_test "property-x86-5" run_dump_test "property-x86-5-x32" +run_dump_test "property-x86-6" +run_dump_test "property-x86-6-x32" run_dump_test "property-x86-ibt1a" run_dump_test "property-x86-ibt1b" run_dump_test "property-x86-ibt1a-x32" @@ -438,6 +440,12 @@ run_dump_test "pr26711-2" run_dump_test "pr26711-2-x32" run_dump_test "pr26711-3" run_dump_test "pr26711-3-x32" +run_dump_test "property-x86-isa1" +run_dump_test "property-x86-isa1-x32" +run_dump_test "property-x86-isa2" +run_dump_test "property-x86-isa2-x32" +run_dump_test "property-x86-isa3" +run_dump_test "property-x86-isa3-x32" if ![istarget "x86_64-*-linux*"] { return |