aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-10-09 05:05:57 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-10-09 05:13:26 -0700
commit32930e4edbc06bc6f10c435dbcc63131715df678 (patch)
tree330e20c899b9aedbd471b8e0463e95cb2fbf42a8 /ld
parent3d87245cc1a4310264d9cb0e4566517d3455a7f5 (diff)
downloadfsf-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')
-rw-r--r--ld/ChangeLog152
-rw-r--r--ld/NEWS3
-rw-r--r--ld/emulparams/elf32_x86_64.sh1
-rw-r--r--ld/emulparams/elf_i386.sh1
-rw-r--r--ld/emulparams/elf_x86_64.sh1
-rw-r--r--ld/emulparams/x86-64-level.sh18
-rw-r--r--ld/ld.texi9
-rw-r--r--ld/testsuite/ld-elf/x86-feature-1a.rd2
-rw-r--r--ld/testsuite/ld-elf/x86-feature-1b.rd2
-rw-r--r--ld/testsuite/ld-elf/x86-feature-1c.rd2
-rw-r--r--ld/testsuite/ld-elf/x86-feature-1d.rd2
-rw-r--r--ld/testsuite/ld-elf/x86-feature-1e.rd2
-rw-r--r--ld/testsuite/ld-i386/i386.exp4
-rw-r--r--ld/testsuite/ld-i386/pr23372c.d2
-rw-r--r--ld/testsuite/ld-i386/pr23486c.d2
-rw-r--r--ld/testsuite/ld-i386/pr23486d.d2
-rw-r--r--ld/testsuite/ld-i386/pr24322a.d2
-rw-r--r--ld/testsuite/ld-i386/pr24322b.d2
-rw-r--r--ld/testsuite/ld-i386/property-1a.r2
-rw-r--r--ld/testsuite/ld-i386/property-2a.r2
-rw-r--r--ld/testsuite/ld-i386/property-3.r2
-rw-r--r--ld/testsuite/ld-i386/property-3a.r4
-rw-r--r--ld/testsuite/ld-i386/property-4.r2
-rw-r--r--ld/testsuite/ld-i386/property-4a.r4
-rw-r--r--ld/testsuite/ld-i386/property-5.r2
-rw-r--r--ld/testsuite/ld-i386/property-5a.r4
-rw-r--r--ld/testsuite/ld-i386/property-7a.r2
-rw-r--r--ld/testsuite/ld-i386/property-x86-1.S4
-rw-r--r--ld/testsuite/ld-i386/property-x86-2.S4
-rw-r--r--ld/testsuite/ld-i386/property-x86-3.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-3.s8
-rw-r--r--ld/testsuite/ld-i386/property-x86-4a.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-5.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-6.d10
-rw-r--r--ld/testsuite/ld-i386/property-x86-cet1.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-cet2a.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-cet5a.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-cet5b.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt1a.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt1b.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt2.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt3a.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt3b.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt4.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt5.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-isa1.d11
-rw-r--r--ld/testsuite/ld-i386/property-x86-isa2.d9
-rw-r--r--ld/testsuite/ld-i386/property-x86-isa3.d9
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk1a.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk1b.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk2.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk3a.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk3b.d4
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk4.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk5.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372c-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372c.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372d.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372e.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372f.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486c-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486c.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486c.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486d-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486d.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486d.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr24322a-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr24322a.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr24322b-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr24322b.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr24458a-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/pr24458a.d4
-rw-r--r--ld/testsuite/ld-x86-64/pr24458b-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/pr24458b.d4
-rw-r--r--ld/testsuite/ld-x86-64/pr24458c-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/pr24458c.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-1a.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-2a.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-3.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-3a.r4
-rw-r--r--ld/testsuite/ld-x86-64/property-4.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-4a.r4
-rw-r--r--ld/testsuite/ld-x86-64/property-5.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-5a.r4
-rw-r--r--ld/testsuite/ld-x86-64/property-7a.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-1.S4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-2.S4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-3-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-3.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-3.s8
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-4a-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-4a.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-5-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-5.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-5a.s4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-5b.s2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-6-x32.d10
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-6.d9
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-6.s83
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet1-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet1.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet2a-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet2a.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet5a-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet5a.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet5b-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-cet5b.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt1a.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt1b.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt2.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt3a.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt3b.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt4.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt5.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-isa1-x32.d11
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-isa1.d11
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-isa1.s54
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-isa2-x32.d9
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-isa2.d9
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-isa3-x32.d9
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-isa3.d9
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk1a.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk1b.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk2.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3a.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3b.d4
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk4.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk5.d2
-rw-r--r--ld/testsuite/ld-x86-64/simple.s4
-rw-r--r--ld/testsuite/ld-x86-64/x86-64.exp8
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
diff --git a/ld/NEWS b/ld/NEWS
index e4ae43b..2f20a5f 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -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"
diff --git a/ld/ld.texi b/ld/ld.texi
index ee592df..66bede2 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -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