aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-08-24 04:41:50 -0700
committerH.J. Lu <hjl.tools@gmail.com>2018-08-24 04:42:15 -0700
commita9eafb08b3f3dd4cd59757f0b99b44e896d620f1 (patch)
tree0d114c314acfa1f1324028d87a25ffe697b1caeb /ld
parentaa7bca9b2e30cf128966631382731369f7b753d8 (diff)
downloadgdb-a9eafb08b3f3dd4cd59757f0b99b44e896d620f1.zip
gdb-a9eafb08b3f3dd4cd59757f0b99b44e896d620f1.tar.gz
gdb-a9eafb08b3f3dd4cd59757f0b99b44e896d620f1.tar.bz2
x86: Update GNU_PROPERTY_X86_XXX macros
This patch updates GNU_PROPERTY_X86_XXX macros: 1. GNU_PROPERTY_X86_UINT32_AND_XXX: A 4-byte unsigned integer property. A bit is set if it is set in all relocatable inputs: #define GNU_PROPERTY_X86_UINT32_AND_LO 0xc0000002 #define GNU_PROPERTY_X86_UINT32_AND_HI 0xc0007fff 2. GNU_PROPERTY_X86_UINT32_OR_XXX: A 4-byte unsigned integer property. A bit is set if it is set in any relocatable inputs: #define GNU_PROPERTY_X86_UINT32_OR_LO 0xc0008000 #define GNU_PROPERTY_X86_UINT32_OR_HI 0xc000ffff 3. GNU_PROPERTY_X86_UINT32_OR_AND_XXX: A 4-byte unsigned integer property. A bit is set if it is set in any relocatable inputs and the property is present in all relocatable inputs: #define GNU_PROPERTY_X86_UINT32_OR_AND_LO 0xc0010000 #define GNU_PROPERTY_X86_UINT32_OR_AND_HI 0xc0017fff 4. GNU_PROPERTY_X86_FEATURE_2_NEEDED, GNU_PROPERTY_X86_FEATURE_2_USED and GNU_PROPERTY_X86_FEATURE_2_XXX bits. GNU_PROPERTY_X86_FEATURE_1_AND is unchanged. GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED are updated to better support targeted processors since GNU_PROPERTY_X86_ISA_1_?86 aren't isn't very useful. A new set of GNU_PROPERTY_X86_ISA_1_XXX bits are defined. The previous GNU_PROPERTY_X86_ISA_1_XXX macros are deprecated and renamed to GNU_PROPERTY_X86_COMPAT_ISA_1_XXX. bfd/ * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Handle X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. (_bfd_x86_elf_merge_gnu_properties): Likewise. (_bfd_x86_elf_link_setup_gnu_properties): Add X86_FEATURE_2_NEEDED instead of X86_ISA_1_NEEDED. (_bfd_x86_elf_link_fixup_gnu_properties): Handle X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. binutils/ * readelf.c (decode_x86_compat_isa): New function. (decode_x86_feature_2): Likewise. (decode_x86_isa): Updated for new X86_ISA_1_XXX bits. (decode_x86_feature): Renamed to ... (decode_x86_feature_1): This. Remove the type argument. (print_gnu_property_note): Handle X86_COMPAT_ISA_1_USED, X86_COMPAT_ISA_1_NEEDED, X86_UINT32_AND_LO, X86_UINT32_AND_HI, X86_UINT32_OR_LO, X86_UINT32_OR_HI, X86_UINT32_OR_AND_LO and X86_UINT32_OR_AND_HI instead of X86_ISA_1_USED, X86_ISA_1_NEEDED and X86_FEATURE_1_AND. * 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/pr21231b.d: Updated. * 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. include/ * elf/common.h (GNU_PROPERTY_X86_ISA_1_USED): Renamed to ... (GNU_PROPERTY_X86_COMPAT_ISA_1_USED): This. (GNU_PROPERTY_X86_ISA_1_NEEDED): Renamed to ... (GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED): This. (GNU_PROPERTY_X86_ISA_1_XXX): Renamed to ... (GNU_PROPERTY_X86_COMPAT_ISA_1_XXX): This. (GNU_PROPERTY_X86_UINT32_AND_LO): New. (GNU_PROPERTY_X86_UINT32_AND_HI): Likewise. (GNU_PROPERTY_X86_UINT32_OR_LO): Likewise. (GNU_PROPERTY_X86_UINT32_OR_HI): Likewise. (GNU_PROPERTY_X86_UINT32_OR_AND_LO): Likewise. (GNU_PROPERTY_X86_UINT32_OR_AND_HI): Likewise. (GNU_PROPERTY_X86_ISA_1_CMOV): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE2): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE3): Likewise. (GNU_PROPERTY_X86_ISA_1_SSSE3): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE4_1): Likewise. (GNU_PROPERTY_X86_ISA_1_SSE4_2): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX2): Likewise. (GNU_PROPERTY_X86_ISA_1_FMA): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512F): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512CD): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512ER): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512PF): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512VL): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512DQ): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512BW): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_BITALG): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_IFMA): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2): Likewise. (GNU_PROPERTY_X86_ISA_1_AVX512_VNNI): Likewise. (GNU_PROPERTY_X86_FEATURE_2_X86): Likewise. (GNU_PROPERTY_X86_FEATURE_2_X87): Likewise. (GNU_PROPERTY_X86_FEATURE_2_MMX): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XMM): Likewise. (GNU_PROPERTY_X86_FEATURE_2_YMM): Likewise. (GNU_PROPERTY_X86_FEATURE_2_ZMM): Likewise. (GNU_PROPERTY_X86_FEATURE_2_FXSR): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XSAVE): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT): Likewise. (GNU_PROPERTY_X86_FEATURE_2_XSAVEC): Likewise. (GNU_PROPERTY_X86_FEATURE_1_AND): Updated to (GNU_PROPERTY_X86_UINT32_AND_LO + 0). (GNU_PROPERTY_X86_ISA_1_NEEDED): Defined to (GNU_PROPERTY_X86_UINT32_OR_LO + 0). (GNU_PROPERTY_X86_FEATURE_2_NEEDED): New. Defined to (GNU_PROPERTY_X86_UINT32_OR_LO + 1). (GNU_PROPERTY_X86_ISA_1_USED): Defined to (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 0). (GNU_PROPERTY_X86_FEATURE_2_USED): New. Defined to (GNU_PROPERTY_X86_UINT32_OR_AND_LO + 1). ld/ * testsuite/ld-i386/i386.exp: Run pr23372c, pr23372d, pr23486c and pr23486d. * testsuite/ld-i386/pr23372a.s: Update comments. * testsuite/ld-i386/pr23372b.s: Likewise. * testsuite/ld-i386/pr23372c.s: Likewise. * testsuite/ld-x86-64/pr23372a.s: Likewise. * testsuite/ld-x86-64/pr23372b.s: Likewise. * testsuite/ld-x86-64/pr23372c.s: Likewise. * testsuite/ld-x86-64/pr23486a.s: Likewise. * testsuite/ld-x86-64/pr23486b.s: Likewise. * testsuite/ld-i386/pr23372c.d: New file. * testsuite/ld-i386/pr23372d.d: Likewise. * testsuite/ld-i386/pr23486c.d: Likewise. * testsuite/ld-i386/pr23486d.d: Likewise. * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. * testsuite/ld-x86-64/pr23372c.d: Likewise. * testsuite/ld-x86-64/pr23372d-x32.d: Likewise. * testsuite/ld-x86-64/pr23372d.d: 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-x32.d: Likewise. * testsuite/ld-x86-64/pr23486c.d: Likewise. * testsuite/ld-x86-64/pr23486c.s: Likewise. * testsuite/ld-x86-64/pr23486d-x32.d: Likewise. * testsuite/ld-x86-64/pr23486d.d: Likewise. * testsuite/ld-x86-64/pr23486d.s: Likewise. * testsuite/ld-i386/property-3.r: Updated. * testsuite/ld-i386/property-4.r: Likewise. * testsuite/ld-i386/property-5.r: Likewise. * testsuite/ld-i386/property-x86-3.d: Likewise. * testsuite/ld-i386/property-x86-ibt3a.d: Likewise. * testsuite/ld-i386/property-x86-shstk3a.d: Likewise. * testsuite/ld-i386/property-x86-shstk3b.d: Likewise. * testsuite/ld-x86-64/property-3.r: Likewise. * testsuite/ld-x86-64/property-4.r: Likewise. * testsuite/ld-x86-64/property-5.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-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-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-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/property-x86-1.S: Likewise. * testsuite/ld-x86-64/property-x86-2.S: Likewise. * testsuite/ld-x86-64/property-x86-3.s: Likewise. * ld/testsuite/ld-x86-64/x86-64.exp: Run pr23372c, pr23372c-x32, pr23372d, pr23372d-x32, pr23486c, pr23486c-x32, pr23486d and pr23486d-x32.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog61
-rw-r--r--ld/testsuite/ld-i386/i386.exp4
-rw-r--r--ld/testsuite/ld-i386/pr23372a.s2
-rw-r--r--ld/testsuite/ld-i386/pr23372b.s2
-rw-r--r--ld/testsuite/ld-i386/pr23372c.d5
-rw-r--r--ld/testsuite/ld-i386/pr23372c.s2
-rw-r--r--ld/testsuite/ld-i386/pr23372d.d5
-rw-r--r--ld/testsuite/ld-i386/pr23486c.d10
-rw-r--r--ld/testsuite/ld-i386/pr23486d.d10
-rw-r--r--ld/testsuite/ld-i386/property-3.r2
-rw-r--r--ld/testsuite/ld-i386/property-4.r2
-rw-r--r--ld/testsuite/ld-i386/property-5.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-ibt3a.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-ibt3b.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk3a.d2
-rw-r--r--ld/testsuite/ld-i386/property-x86-shstk3b.d2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372a.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372b.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372c-x32.d5
-rw-r--r--ld/testsuite/ld-x86-64/pr23372c.d5
-rw-r--r--ld/testsuite/ld-x86-64/pr23372c.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23372d-x32.d5
-rw-r--r--ld/testsuite/ld-x86-64/pr23372d.d5
-rw-r--r--ld/testsuite/ld-x86-64/pr23372d.s30
-rw-r--r--ld/testsuite/ld-x86-64/pr23372e.s30
-rw-r--r--ld/testsuite/ld-x86-64/pr23372f.s30
-rw-r--r--ld/testsuite/ld-x86-64/pr23486a.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486b.s2
-rw-r--r--ld/testsuite/ld-x86-64/pr23486c-x32.d10
-rw-r--r--ld/testsuite/ld-x86-64/pr23486c.d10
-rw-r--r--ld/testsuite/ld-x86-64/pr23486c.s30
-rw-r--r--ld/testsuite/ld-x86-64/pr23486d-x32.d10
-rw-r--r--ld/testsuite/ld-x86-64/pr23486d.d10
-rw-r--r--ld/testsuite/ld-x86-64/pr23486d.s30
-rw-r--r--ld/testsuite/ld-x86-64/property-3.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-4.r2
-rw-r--r--ld/testsuite/ld-x86-64/property-5.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-ibt3a-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt3a.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-ibt3b.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3a.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d2
-rw-r--r--ld/testsuite/ld-x86-64/property-x86-shstk3b.d2
-rw-r--r--ld/testsuite/ld-x86-64/x86-64.exp8
55 files changed, 361 insertions, 48 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index c2d47fd..942843c 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,64 @@
+2018-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * testsuite/ld-i386/i386.exp: Run pr23372c, pr23372d, pr23486c
+ and pr23486d.
+ * testsuite/ld-i386/pr23372a.s: Update comments.
+ * testsuite/ld-i386/pr23372b.s: Likewise.
+ * testsuite/ld-i386/pr23372c.s: Likewise.
+ * testsuite/ld-x86-64/pr23372a.s: Likewise.
+ * testsuite/ld-x86-64/pr23372b.s: Likewise.
+ * testsuite/ld-x86-64/pr23372c.s: Likewise.
+ * testsuite/ld-x86-64/pr23486a.s: Likewise.
+ * testsuite/ld-x86-64/pr23486b.s: Likewise.
+ * testsuite/ld-i386/pr23372c.d: New file.
+ * testsuite/ld-i386/pr23372d.d: Likewise.
+ * testsuite/ld-i386/pr23486c.d: Likewise.
+ * testsuite/ld-i386/pr23486d.d: Likewise.
+ * testsuite/ld-x86-64/pr23372c-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23372c.d: Likewise.
+ * testsuite/ld-x86-64/pr23372d-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23372d.d: 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-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23486c.d: Likewise.
+ * testsuite/ld-x86-64/pr23486c.s: Likewise.
+ * testsuite/ld-x86-64/pr23486d-x32.d: Likewise.
+ * testsuite/ld-x86-64/pr23486d.d: Likewise.
+ * testsuite/ld-x86-64/pr23486d.s: Likewise.
+ * testsuite/ld-i386/property-3.r: Updated.
+ * testsuite/ld-i386/property-4.r: Likewise.
+ * testsuite/ld-i386/property-5.r: Likewise.
+ * testsuite/ld-i386/property-x86-3.d: Likewise.
+ * testsuite/ld-i386/property-x86-ibt3a.d: Likewise.
+ * testsuite/ld-i386/property-x86-shstk3a.d: Likewise.
+ * testsuite/ld-i386/property-x86-shstk3b.d: Likewise.
+ * testsuite/ld-x86-64/property-3.r: Likewise.
+ * testsuite/ld-x86-64/property-4.r: Likewise.
+ * testsuite/ld-x86-64/property-5.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-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-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-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/property-x86-1.S: Likewise.
+ * testsuite/ld-x86-64/property-x86-2.S: Likewise.
+ * testsuite/ld-x86-64/property-x86-3.s: Likewise.
+ * ld/testsuite/ld-x86-64/x86-64.exp: Run pr23372c, pr23372c-x32,
+ pr23372d, pr23372d-x32, pr23486c, pr23486c-x32, pr23486d and
+ pr23486d-x32.
+
2018-08-24 Alan Modra <amodra@gmail.com>
* emultempl/elf32.em (before_allocation): Don't restore
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index 78dad02..d1aa350 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -462,8 +462,12 @@ run_dump_test "pr23189"
run_dump_test "pr23194"
run_dump_test "pr23372a"
run_dump_test "pr23372b"
+run_dump_test "pr23372c"
+run_dump_test "pr23372d"
run_dump_test "pr23486a"
run_dump_test "pr23486b"
+run_dump_test "pr23486c"
+run_dump_test "pr23486d"
if { !([istarget "i?86-*-linux*"]
|| [istarget "i?86-*-gnu*"]
diff --git a/ld/testsuite/ld-i386/pr23372a.s b/ld/testsuite/ld-i386/pr23372a.s
index 9849d62..eeeac06 100644
--- a/ld/testsuite/ld-i386/pr23372a.s
+++ b/ld/testsuite/ld-i386/pr23372a.s
@@ -8,7 +8,7 @@
.asciz "GNU" /* vendor name. */
1:
.p2align 2
- /* GNU_PROPERTY_X86_ISA_1_USED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_USED */
.long 0xc0000000 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-i386/pr23372b.s b/ld/testsuite/ld-i386/pr23372b.s
index 9849d62..eeeac06 100644
--- a/ld/testsuite/ld-i386/pr23372b.s
+++ b/ld/testsuite/ld-i386/pr23372b.s
@@ -8,7 +8,7 @@
.asciz "GNU" /* vendor name. */
1:
.p2align 2
- /* GNU_PROPERTY_X86_ISA_1_USED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_USED */
.long 0xc0000000 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-i386/pr23372c.d b/ld/testsuite/ld-i386/pr23372c.d
new file mode 100644
index 0000000..987ae4c
--- /dev/null
+++ b/ld/testsuite/ld-i386/pr23372c.d
@@ -0,0 +1,5 @@
+#source: ../ld-x86-64/pr23372d.s
+#source: ../ld-x86-64/pr23372e.s
+#as: --32
+#ld: -r -m elf_i386
+#readelf: -n
diff --git a/ld/testsuite/ld-i386/pr23372c.s b/ld/testsuite/ld-i386/pr23372c.s
index 3470dce..6a871cc 100644
--- a/ld/testsuite/ld-i386/pr23372c.s
+++ b/ld/testsuite/ld-i386/pr23372c.s
@@ -8,7 +8,7 @@
.asciz "GNU" /* vendor name. */
1:
.p2align 2
- /* GNU_PROPERTY_X86_ISA_1_NEEDED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED */
.long 0xc0000001 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-i386/pr23372d.d b/ld/testsuite/ld-i386/pr23372d.d
new file mode 100644
index 0000000..e44aee9
--- /dev/null
+++ b/ld/testsuite/ld-i386/pr23372d.d
@@ -0,0 +1,5 @@
+#source: ../ld-x86-64/pr23372d.s
+#source: ../ld-x86-64/pr23372f.s
+#as: --32
+#ld: -r -m elf_i386
+#readelf: -n
diff --git a/ld/testsuite/ld-i386/pr23486c.d b/ld/testsuite/ld-i386/pr23486c.d
new file mode 100644
index 0000000..a557319
--- /dev/null
+++ b/ld/testsuite/ld-i386/pr23486c.d
@@ -0,0 +1,10 @@
+#source: ../ld-x86-64/pr23486c.s
+#source: ../ld-x86-64/pr23486d.s
+#as: --32
+#ld: -r -m elf_i386
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA needed: CMOV, SSE
diff --git a/ld/testsuite/ld-i386/pr23486d.d b/ld/testsuite/ld-i386/pr23486d.d
new file mode 100644
index 0000000..48cceb1
--- /dev/null
+++ b/ld/testsuite/ld-i386/pr23486d.d
@@ -0,0 +1,10 @@
+#source: ../ld-x86-64/pr23486d.s
+#source: ../ld-x86-64/pr23486c.s
+#as: --32
+#ld: -r -m elf_i386
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA needed: CMOV, SSE
diff --git a/ld/testsuite/ld-i386/property-3.r b/ld/testsuite/ld-i386/property-3.r
index d03203c..e9f7162 100644
--- a/ld/testsuite/ld-i386/property-3.r
+++ b/ld/testsuite/ld-i386/property-3.r
@@ -3,5 +3,5 @@ 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: i486, 586
+ x86 ISA needed: CMOV, SSE
#pass
diff --git a/ld/testsuite/ld-i386/property-4.r b/ld/testsuite/ld-i386/property-4.r
index da295eb..876d057 100644
--- a/ld/testsuite/ld-i386/property-4.r
+++ b/ld/testsuite/ld-i386/property-4.r
@@ -3,5 +3,5 @@ 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: i486, 586, SSE
+ x86 ISA needed: CMOV, SSE, SSE3
#pass
diff --git a/ld/testsuite/ld-i386/property-5.r b/ld/testsuite/ld-i386/property-5.r
index e414159..adef5e8 100644
--- a/ld/testsuite/ld-i386/property-5.r
+++ b/ld/testsuite/ld-i386/property-5.r
@@ -3,5 +3,5 @@ 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: i486, 586, SSE
+ x86 ISA needed: CMOV, SSE, SSE3
#pass
diff --git a/ld/testsuite/ld-i386/property-x86-1.S b/ld/testsuite/ld-i386/property-x86-1.S
index 953ca87..f0b8fc0 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 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0xa
5:
.p2align 2
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* 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 f11e1fe..3987681 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 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0x3
5:
.p2align 2
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* 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 19c6699..1cbd37a 100644
--- a/ld/testsuite/ld-i386/property-x86-3.d
+++ b/ld/testsuite/ld-i386/property-x86-3.d
@@ -5,5 +5,5 @@
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
- Properties: x86 ISA used: i486, 586, SSE2, SSE3
- x86 ISA needed: 586, SSE, SSE3, SSE4_1
+ Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
+ x86 ISA used: CMOV, SSE, SSSE3, SSE4_1
diff --git a/ld/testsuite/ld-i386/property-x86-3.s b/ld/testsuite/ld-i386/property-x86-3.s
index a6fd830..7e5924f 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 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0x3
5:
.p2align 2
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0xa
@@ -35,14 +35,14 @@
1:
.p2align 2
/* GNU_PROPERTY_X86_ISA_1_USED */
- .long 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0x30
5:
.p2align 2
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0xa0
diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d
index 0aedea1..b87bc27 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt3a.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt3a.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: 586, SSE, SSE3, SSE4_1
+ Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d
index bd69ac6..f09ae52 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt3b.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt3b.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: 586, SSE, SSE3, SSE4_1
+ Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d
index 76d2a39..44f3e57 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk3a.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk3a.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: 586, SSE, SSE3, SSE4_1
+ Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d
index e770ecf..db136cd 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk3b.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk3b.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: 586, SSE, SSE3, SSE4_1
+ Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
diff --git a/ld/testsuite/ld-x86-64/pr23372a.s b/ld/testsuite/ld-x86-64/pr23372a.s
index 639fc26..75ce47e 100644
--- a/ld/testsuite/ld-x86-64/pr23372a.s
+++ b/ld/testsuite/ld-x86-64/pr23372a.s
@@ -16,7 +16,7 @@
.else
.p2align 2
.endif
- /* GNU_PROPERTY_X86_ISA_1_USED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_USED */
.long 0xc0000000 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-x86-64/pr23372b.s b/ld/testsuite/ld-x86-64/pr23372b.s
index 639fc26..75ce47e 100644
--- a/ld/testsuite/ld-x86-64/pr23372b.s
+++ b/ld/testsuite/ld-x86-64/pr23372b.s
@@ -16,7 +16,7 @@
.else
.p2align 2
.endif
- /* GNU_PROPERTY_X86_ISA_1_USED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_USED */
.long 0xc0000000 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-x86-64/pr23372c-x32.d b/ld/testsuite/ld-x86-64/pr23372c-x32.d
new file mode 100644
index 0000000..863f4b7
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23372c-x32.d
@@ -0,0 +1,5 @@
+#source: pr23372d.s
+#source: pr23372e.s
+#as: --x32
+#ld: -r -m elf32_x86_64
+#readelf: -n
diff --git a/ld/testsuite/ld-x86-64/pr23372c.d b/ld/testsuite/ld-x86-64/pr23372c.d
new file mode 100644
index 0000000..23bdaa7
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23372c.d
@@ -0,0 +1,5 @@
+#source: pr23372d.s
+#source: pr23372e.s
+#as: --64 -defsym __64_bit__=1
+#ld: -r -m elf_x86_64
+#readelf: -n
diff --git a/ld/testsuite/ld-x86-64/pr23372c.s b/ld/testsuite/ld-x86-64/pr23372c.s
index b4eaf69..2efb9bd 100644
--- a/ld/testsuite/ld-x86-64/pr23372c.s
+++ b/ld/testsuite/ld-x86-64/pr23372c.s
@@ -16,7 +16,7 @@
.else
.p2align 2
.endif
- /* GNU_PROPERTY_X86_ISA_1_NEEDED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED */
.long 0xc0000001 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-x86-64/pr23372d-x32.d b/ld/testsuite/ld-x86-64/pr23372d-x32.d
new file mode 100644
index 0000000..80c783d
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23372d-x32.d
@@ -0,0 +1,5 @@
+#source: pr23372d.s
+#source: pr23372f.s
+#as: --x32
+#ld: -r -m elf32_x86_64
+#readelf: -n
diff --git a/ld/testsuite/ld-x86-64/pr23372d.d b/ld/testsuite/ld-x86-64/pr23372d.d
new file mode 100644
index 0000000..3552698
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23372d.d
@@ -0,0 +1,5 @@
+#source: pr23372d.s
+#source: pr23372f.s
+#as: --64 -defsym __64_bit__=1
+#ld: -r -m elf_x86_64
+#readelf: -n
diff --git a/ld/testsuite/ld-x86-64/pr23372d.s b/ld/testsuite/ld-x86-64/pr23372d.s
new file mode 100644
index 0000000..cec05cd
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23372d.s
@@ -0,0 +1,30 @@
+ .section ".note.gnu.property", "a"
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+ .long 1f - 0f /* name length. */
+ .long 4f - 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_ISA_1_USED */
+ .long 0xc0010000 /* pr_type. */
+ .long 3f - 2f /* pr_datasz. */
+2:
+ .long 0x0
+3:
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+4:
diff --git a/ld/testsuite/ld-x86-64/pr23372e.s b/ld/testsuite/ld-x86-64/pr23372e.s
new file mode 100644
index 0000000..cec05cd
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23372e.s
@@ -0,0 +1,30 @@
+ .section ".note.gnu.property", "a"
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+ .long 1f - 0f /* name length. */
+ .long 4f - 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_ISA_1_USED */
+ .long 0xc0010000 /* pr_type. */
+ .long 3f - 2f /* pr_datasz. */
+2:
+ .long 0x0
+3:
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+4:
diff --git a/ld/testsuite/ld-x86-64/pr23372f.s b/ld/testsuite/ld-x86-64/pr23372f.s
new file mode 100644
index 0000000..57797c8
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23372f.s
@@ -0,0 +1,30 @@
+ .section ".note.gnu.property", "a"
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+ .long 1f - 0f /* name length. */
+ .long 4f - 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_ISA_1_NEEDED */
+ .long 0xc0008000 /* pr_type. */
+ .long 3f - 2f /* pr_datasz. */
+2:
+ .long 0x0
+3:
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+4:
diff --git a/ld/testsuite/ld-x86-64/pr23486a.s b/ld/testsuite/ld-x86-64/pr23486a.s
index a07d0c7..b04960c 100644
--- a/ld/testsuite/ld-x86-64/pr23486a.s
+++ b/ld/testsuite/ld-x86-64/pr23486a.s
@@ -16,7 +16,7 @@
.else
.p2align 2
.endif
- /* GNU_PROPERTY_X86_ISA_1_USED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_USED */
.long 0xc0000000 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-x86-64/pr23486b.s b/ld/testsuite/ld-x86-64/pr23486b.s
index c5167ee..500da3a 100644
--- a/ld/testsuite/ld-x86-64/pr23486b.s
+++ b/ld/testsuite/ld-x86-64/pr23486b.s
@@ -16,7 +16,7 @@
.else
.p2align 2
.endif
- /* GNU_PROPERTY_X86_ISA_1_NEEDED */
+ /* GNU_PROPERTY_X86_COMPAT_ISA_1_NEEDED */
.long 0xc0000001 /* pr_type. */
.long 3f - 2f /* pr_datasz. */
2:
diff --git a/ld/testsuite/ld-x86-64/pr23486c-x32.d b/ld/testsuite/ld-x86-64/pr23486c-x32.d
new file mode 100644
index 0000000..acbabe1
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23486c-x32.d
@@ -0,0 +1,10 @@
+#source: pr23486c.s
+#source: pr23486d.s
+#as: --x32
+#ld: -r -m elf32_x86_64
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA needed: CMOV, SSE
diff --git a/ld/testsuite/ld-x86-64/pr23486c.d b/ld/testsuite/ld-x86-64/pr23486c.d
new file mode 100644
index 0000000..c7e91da
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23486c.d
@@ -0,0 +1,10 @@
+#source: pr23486c.s
+#source: pr23486d.s
+#as: --64 -defsym __64_bit__=1
+#ld: -r -m elf_x86_64
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA needed: CMOV, SSE
diff --git a/ld/testsuite/ld-x86-64/pr23486c.s b/ld/testsuite/ld-x86-64/pr23486c.s
new file mode 100644
index 0000000..16bb94d
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23486c.s
@@ -0,0 +1,30 @@
+ .section ".note.gnu.property", "a"
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+ .long 1f - 0f /* name length. */
+ .long 4f - 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_ISA_1_USED */
+ .long 0xc0010000 /* pr_type. */
+ .long 3f - 2f /* pr_datasz. */
+2:
+ .long 0xa
+3:
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+4:
diff --git a/ld/testsuite/ld-x86-64/pr23486d-x32.d b/ld/testsuite/ld-x86-64/pr23486d-x32.d
new file mode 100644
index 0000000..fa72d4b
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23486d-x32.d
@@ -0,0 +1,10 @@
+#source: pr23486d.s
+#source: pr23486c.s
+#as: --x32
+#ld: -r -m elf32_x86_64
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA needed: CMOV, SSE
diff --git a/ld/testsuite/ld-x86-64/pr23486d.d b/ld/testsuite/ld-x86-64/pr23486d.d
new file mode 100644
index 0000000..1f0ed23
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23486d.d
@@ -0,0 +1,10 @@
+#source: pr23486d.s
+#source: pr23486c.s
+#as: --64 -defsym __64_bit__=1
+#ld: -r -m elf_x86_64
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+ Owner Data size Description
+ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA needed: CMOV, SSE
diff --git a/ld/testsuite/ld-x86-64/pr23486d.s b/ld/testsuite/ld-x86-64/pr23486d.s
new file mode 100644
index 0000000..88f9c11
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr23486d.s
@@ -0,0 +1,30 @@
+ .section ".note.gnu.property", "a"
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+ .long 1f - 0f /* name length. */
+ .long 4f - 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_ISA_1_NEEDED */
+ .long 0xc0008000 /* pr_type. */
+ .long 3f - 2f /* pr_datasz. */
+2:
+ .long 0x3
+3:
+.ifdef __64_bit__
+ .p2align 3
+.else
+ .p2align 2
+.endif
+4:
diff --git a/ld/testsuite/ld-x86-64/property-3.r b/ld/testsuite/ld-x86-64/property-3.r
index d03203c..e9f7162 100644
--- a/ld/testsuite/ld-x86-64/property-3.r
+++ b/ld/testsuite/ld-x86-64/property-3.r
@@ -3,5 +3,5 @@ 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: i486, 586
+ x86 ISA needed: CMOV, SSE
#pass
diff --git a/ld/testsuite/ld-x86-64/property-4.r b/ld/testsuite/ld-x86-64/property-4.r
index da295eb..876d057 100644
--- a/ld/testsuite/ld-x86-64/property-4.r
+++ b/ld/testsuite/ld-x86-64/property-4.r
@@ -3,5 +3,5 @@ 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: i486, 586, SSE
+ x86 ISA needed: CMOV, SSE, SSE3
#pass
diff --git a/ld/testsuite/ld-x86-64/property-5.r b/ld/testsuite/ld-x86-64/property-5.r
index e414159..adef5e8 100644
--- a/ld/testsuite/ld-x86-64/property-5.r
+++ b/ld/testsuite/ld-x86-64/property-5.r
@@ -3,5 +3,5 @@ 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: i486, 586, SSE
+ x86 ISA needed: CMOV, SSE, SSE3
#pass
diff --git a/ld/testsuite/ld-x86-64/property-x86-1.S b/ld/testsuite/ld-x86-64/property-x86-1.S
index 33f2ccd..c950b9d 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 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0xa
5:
.p2align ALIGN
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* 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 132e521..72056be 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 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0x3
5:
.p2align ALIGN
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* 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 cd8a2b5..d70224a 100644
--- a/ld/testsuite/ld-x86-64/property-x86-3-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-3-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: 586, SSE, SSE3, SSE4_1
- x86 ISA needed: i486, 586, SSE2, SSE3
+ 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-3.d b/ld/testsuite/ld-x86-64/property-x86-3.d
index 6686b14..2cd5c8f 100644
--- a/ld/testsuite/ld-x86-64/property-x86-3.d
+++ b/ld/testsuite/ld-x86-64/property-x86-3.d
@@ -5,5 +5,5 @@
Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
- Properties: x86 ISA used: 586, SSE, SSE3, SSE4_1
- x86 ISA needed: i486, 586, SSE2, SSE3
+ 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-3.s b/ld/testsuite/ld-x86-64/property-x86-3.s
index 239cf62..8c9d6da 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 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0xa
@@ -28,7 +28,7 @@
.p2align 2
.endif
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0x3
@@ -59,7 +59,7 @@
.p2align 2
.endif
/* GNU_PROPERTY_X86_ISA_1_USED */
- .long 0xc0000000 /* pr_type. */
+ .long 0xc0010000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0xa0
@@ -70,7 +70,7 @@
.p2align 2
.endif
/* GNU_PROPERTY_X86_ISA_1_NEEDED */
- .long 0xc0000001 /* pr_type. */
+ .long 0xc0008000 /* pr_type. */
.long 5f - 4f /* pr_datasz. */
4:
.long 0x30
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 4cec728..f87ecff 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
index a8df49a..9026913 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
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 c112626..45f6037 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
index f10dffd..259e333 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
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 0147a3c..85fcb6b 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
index 1f8c2dc..0eb42e7 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
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 7ca2539..23a8be6 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
index f66a40e..152eea5 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.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: i486, 586, SSE2, SSE3
+ Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index ae21e55..41f40e7 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -403,10 +403,18 @@ run_dump_test "pr23372a"
run_dump_test "pr23372a-x32"
run_dump_test "pr23372b"
run_dump_test "pr23372b-x32"
+run_dump_test "pr23372c"
+run_dump_test "pr23372c-x32"
+run_dump_test "pr23372d"
+run_dump_test "pr23372d-x32"
run_dump_test "pr23486a"
run_dump_test "pr23486a-x32"
run_dump_test "pr23486b"
run_dump_test "pr23486b-x32"
+run_dump_test "pr23486c"
+run_dump_test "pr23486c-x32"
+run_dump_test "pr23486d"
+run_dump_test "pr23486d-x32"
if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} {
return