Discussion:
V2 [PATCH 0/7] x86: Add -mx86-used-note= to generate property notes
H.J. Lu
2018-08-28 15:22:54 UTC
Permalink
This set of patches adds -mx86-used-note= to x86 assembler to generate
GNU property notes with GNU_PROPERTY_X86_FEATURE_2_USED and
GNU_PROPERTY_X86_ISA_1_USED properties. If the assembly input contains
no instructions, set the GNU_PROPERTY_X86_UINT32_VALID bit in
GNU_PROPERTY_X86_FEATURE_2_USED property.

H.J. Lu (7):
x86: Extend assembler to generate GNU property notes
x86: Add explicit -mx86-used-note=[yes|no] to tests
binutils: Adjusted tests for .note.gnu.property section
x86: pass -mx86-used-note=no to assembler
gas: Pass -mx86-used-note=no to assembler
ld: Append -Wa,-mx86-used-note=no for S-records tests
ld: Append -mx86-used-note=no to ASFLAGS

.../binutils-all/i386/compressed-1b.d | 2 +-
.../binutils-all/i386/compressed-1c.d | 2 +-
binutils/testsuite/binutils-all/i386/empty.d | 5 +-
binutils/testsuite/binutils-all/i386/ibt.d | 5 +-
.../testsuite/binutils-all/i386/pr21231a.d | 5 +-
.../testsuite/binutils-all/i386/pr21231b.d | 5 +-
binutils/testsuite/binutils-all/i386/shstk.d | 5 +-
binutils/testsuite/binutils-all/readelf.s-64 | 11 +-
binutils/testsuite/binutils-all/strip-3.d | 2 +-
.../binutils-all/x86-64/compressed-1b.d | 2 +-
.../binutils-all/x86-64/compressed-1c.d | 2 +-
.../testsuite/binutils-all/x86-64/empty-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/empty.d | 5 +-
.../testsuite/binutils-all/x86-64/ibt-x32.d | 5 +-
binutils/testsuite/binutils-all/x86-64/ibt.d | 5 +-
.../testsuite/binutils-all/x86-64/pr21231a.d | 5 +-
.../testsuite/binutils-all/x86-64/pr21231b.d | 5 +-
.../binutils-all/x86-64/pr23494a-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/pr23494a.d | 5 +-
.../binutils-all/x86-64/pr23494b-x32.d | 2 +-
.../testsuite/binutils-all/x86-64/pr23494b.d | 2 +-
.../binutils-all/x86-64/pr23494c-x32.d | 2 +-
.../testsuite/binutils-all/x86-64/pr23494c.d | 2 +-
.../binutils-all/x86-64/pr23494d-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/pr23494d.d | 5 +-
.../binutils-all/x86-64/pr23494e-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/pr23494e.d | 5 +-
.../testsuite/binutils-all/x86-64/shstk-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/shstk.d | 5 +-
gas/NEWS | 5 +
gas/config.in | 4 +
gas/config/tc-i386.c | 303 +++++++++++++++++-
gas/config/tc-i386.h | 5 +
gas/configure | 28 +-
gas/configure.ac | 21 ++
gas/doc/c-i386.texi | 9 +
gas/testsuite/gas/cfi/cfi-label.d | 1 +
gas/testsuite/gas/elf/elf.exp | 6 +-
gas/testsuite/gas/i386/bss.d | 1 +
gas/testsuite/gas/i386/divide.d | 1 +
gas/testsuite/gas/i386/ilp32/quad.d | 1 +
gas/testsuite/gas/i386/ilp32/reloc64.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-size-1.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-size-3.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-size-5.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-unwind.d | 1 +
gas/testsuite/gas/i386/property-1.d | 1 +
gas/testsuite/gas/i386/relax.d | 1 +
gas/testsuite/gas/i386/reloc64.d | 1 +
gas/testsuite/gas/i386/size-1.d | 1 +
gas/testsuite/gas/i386/size-3.d | 1 +
gas/testsuite/gas/i386/x86-64-property-1.d | 2 +-
gas/testsuite/gas/i386/x86-64-size-1.d | 1 +
gas/testsuite/gas/i386/x86-64-size-3.d | 1 +
gas/testsuite/gas/i386/x86-64-size-5.d | 1 +
gas/testsuite/gas/i386/x86-64-unwind.d | 1 +
ld/testsuite/ld-elf/elf.exp | 8 +
ld/testsuite/ld-i386/i386.exp | 263 ++++++++-------
ld/testsuite/ld-i386/no-plt.exp | 82 ++---
ld/testsuite/ld-i386/pr23486a.d | 2 +-
ld/testsuite/ld-i386/pr23486b.d | 2 +-
ld/testsuite/ld-i386/property-1a.r | 9 +
ld/testsuite/ld-i386/property-2a.r | 9 +
ld/testsuite/ld-i386/property-3a.r | 9 +
ld/testsuite/ld-i386/property-4a.r | 9 +
ld/testsuite/ld-i386/property-5a.r | 9 +
ld/testsuite/ld-i386/property-7a.r | 8 +
ld/testsuite/ld-i386/property-x86-3.d | 5 +-
ld/testsuite/ld-i386/property-x86-4a.d | 7 +-
ld/testsuite/ld-i386/property-x86-ibt1a.d | 7 +-
ld/testsuite/ld-i386/property-x86-ibt1b.d | 7 +-
ld/testsuite/ld-i386/property-x86-ibt2.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt3a.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt3b.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt4.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt5.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk1a.d | 7 +-
ld/testsuite/ld-i386/property-x86-shstk1b.d | 7 +-
ld/testsuite/ld-i386/property-x86-shstk2.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk3a.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk3b.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk4.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk5.d | 6 +-
ld/testsuite/ld-i386/tls.exp | 44 +--
ld/testsuite/ld-ifunc/ifunc.exp | 8 +
ld/testsuite/ld-scripts/defined.exp | 8 +
ld/testsuite/ld-scripts/overlay-size.exp | 9 +
ld/testsuite/ld-srec/srec.exp | 7 +
ld/testsuite/ld-x86-64/bnd-branch-1-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-ifunc-2.d | 2 +-
ld/testsuite/ld-x86-64/bnd-plt-1-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-plt-1.d | 2 +-
ld/testsuite/ld-x86-64/mpx.exp | 6 +-
ld/testsuite/ld-x86-64/no-plt.exp | 54 ++--
ld/testsuite/ld-x86-64/pr23486a-x32.d | 2 +-
ld/testsuite/ld-x86-64/pr23486a.d | 2 +-
ld/testsuite/ld-x86-64/pr23486b-x32.d | 2 +-
ld/testsuite/ld-x86-64/pr23486b.d | 2 +-
ld/testsuite/ld-x86-64/property-1a.r | 9 +
ld/testsuite/ld-x86-64/property-2a.r | 9 +
ld/testsuite/ld-x86-64/property-3a.r | 9 +
ld/testsuite/ld-x86-64/property-4a.r | 9 +
ld/testsuite/ld-x86-64/property-5a.r | 9 +
ld/testsuite/ld-x86-64/property-7a.r | 8 +
ld/testsuite/ld-x86-64/property-x86-3-x32.d | 5 +-
ld/testsuite/ld-x86-64/property-x86-3.d | 5 +-
ld/testsuite/ld-x86-64/property-x86-4a-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-4a.d | 7 +-
.../ld-x86-64/property-x86-ibt1a-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-ibt1a.d | 7 +-
.../ld-x86-64/property-x86-ibt1b-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-ibt1b.d | 7 +-
.../ld-x86-64/property-x86-ibt2-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt2.d | 6 +-
.../ld-x86-64/property-x86-ibt3a-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt3a.d | 6 +-
.../ld-x86-64/property-x86-ibt3b-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt3b.d | 6 +-
.../ld-x86-64/property-x86-ibt4-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt4.d | 6 +-
.../ld-x86-64/property-x86-ibt5-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt5.d | 6 +-
.../ld-x86-64/property-x86-shstk1a-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-shstk1a.d | 7 +-
.../ld-x86-64/property-x86-shstk1b-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-shstk1b.d | 7 +-
.../ld-x86-64/property-x86-shstk2-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk2.d | 6 +-
.../ld-x86-64/property-x86-shstk3a-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk3a.d | 6 +-
.../ld-x86-64/property-x86-shstk3b-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk3b.d | 6 +-
.../ld-x86-64/property-x86-shstk4-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk4.d | 6 +-
.../ld-x86-64/property-x86-shstk5-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk5.d | 6 +-
ld/testsuite/ld-x86-64/tls.exp | 44 +--
ld/testsuite/ld-x86-64/x86-64.exp | 302 ++++++++---------
140 files changed, 1254 insertions(+), 536 deletions(-)
create mode 100644 ld/testsuite/ld-i386/property-1a.r
create mode 100644 ld/testsuite/ld-i386/property-2a.r
create mode 100644 ld/testsuite/ld-i386/property-3a.r
create mode 100644 ld/testsuite/ld-i386/property-4a.r
create mode 100644 ld/testsuite/ld-i386/property-5a.r
create mode 100644 ld/testsuite/ld-i386/property-7a.r
create mode 100644 ld/testsuite/ld-x86-64/property-1a.r
create mode 100644 ld/testsuite/ld-x86-64/property-2a.r
create mode 100644 ld/testsuite/ld-x86-64/property-3a.r
create mode 100644 ld/testsuite/ld-x86-64/property-4a.r
create mode 100644 ld/testsuite/ld-x86-64/property-5a.r
create mode 100644 ld/testsuite/ld-x86-64/property-7a.r
--
2.17.1
H.J. Lu
2018-08-28 15:22:57 UTC
Permalink
Since x86 assembler may generate .note.gnu.property section, adjust
binutils tests to handle it.

* testsuite/binutils-all/readelf.s-64: Adjusted for
.note.gnu.property section.
* testsuite/binutils-all/strip-3.d: Also strip
.note.gnu.property section.
---
binutils/testsuite/binutils-all/readelf.s-64 | 11 +++++++----
binutils/testsuite/binutils-all/strip-3.d | 2 +-
2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/binutils/testsuite/binutils-all/readelf.s-64 b/binutils/testsuite/binutils-all/readelf.s-64
index 622b314503..a1e6cd1bbd 100644
--- a/binutils/testsuite/binutils-all/readelf.s-64
+++ b/binutils/testsuite/binutils-all/readelf.s-64
@@ -13,12 +13,15 @@ Section Headers:
+000000000000000[48] +0000000000000000 +WA +0 +0 +.*
+\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58)
+0000000000000000 +0000000000000000 +WA +0 +0 +.*
- +\[ 5\] .symtab +SYMTAB +0000000000000000 +0+.*
+# x86 targets may put .note.gnu.property here.
+#...
+ +\[ .\] .symtab +SYMTAB +0000000000000000 +0+.*
# aarch64-elf targets have one more data symbol.
- +0+.* +0000000000000018 +6 +(6|7) +8
- +\[ 6\] .strtab +STRTAB +0000000000000000 +0+.*
+# x86 targets may have .note.gnu.property.
+ +0+.* +0000000000000018 +(6|7) +(6|7) +8
+ +\[ .\] .strtab +STRTAB +0000000000000000 +0+.*
+0+.* +0000000000000000 .* +0 +0 +1
- +\[ 7\] .shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+ +\[ .\] .shstrtab +STRTAB +0000000000000000 +[0-9a-f]+
+00000000000000.. +0000000000000000 .* +0 +0 +.*
Key to Flags:
#...
diff --git a/binutils/testsuite/binutils-all/strip-3.d b/binutils/testsuite/binutils-all/strip-3.d
index 190298c99d..8a375d81dc 100644
--- a/binutils/testsuite/binutils-all/strip-3.d
+++ b/binutils/testsuite/binutils-all/strip-3.d
@@ -1,6 +1,6 @@
#PROG: strip
#source: empty.s
-#strip: -R .text -R .data -R .bss -R .ARM.attributes -R .reginfo -R .gnu.attributes -R .MIPS.abiflags -R .pdr -R .xtensa.info -R .ARC.attributes
+#strip: -R .text -R .data -R .bss -R .ARM.attributes -R .reginfo -R .gnu.attributes -R .MIPS.abiflags -R .pdr -R .xtensa.info -R .ARC.attributes -R .note.gnu.property
#readelf: -S --wide
#name: strip empty file
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
--
2.17.1
H.J. Lu
2018-08-28 15:22:55 UTC
Permalink
Add -mx86-used-note=[yes|no] option to generate (or not) GNU property
notes with GNU_PROPERTY_X86_FEATURE_2_USED and GNU_PROPERTY_X86_ISA_1_USED
properties. If the assembly input contains no instructions, set the
GNU_PROPERTY_X86_UINT32_VALID bit in GNU_PROPERTY_X86_FEATURE_2_USED
property. Add a --enable-x86-used-note configure time option to set the
default behavior. Set the default if the configure option is not used
to "no".

* NEWS: Mention -mx86-used-note=[no|yes].
* configure.ac: Add --enable-x86-used-note. Define
DEFAULT_X86_USED_NOTE.
* config.in: Regenerated.
* configure: Likewise.
* config/tc-i386.c (x86_isa_1_used): New.
(x86_feature_2_used): Likewise.
(x86_used_note): Likewise.
(_i386_insn): Add has_regmmx, has_regxmm, has_regymm and
has_regzmm.
(build_modrm_byte): Set i.has_regmmx, i.has_regzmm.
i.has_regymm and i.has_regxmm.
(x86_cleanup): New function.
(output_insn): Update x86_isa_1_used and x86_feature_2_used.
(OPTION_X86_USED_NOTE): New.
(md_longopts): Add -mx86-used-note=.
(md_parse_option): Handle OPTION_X86_USED_NOTE.
(md_show_usage): Display -mx86-used-note=.
* config/tc-i386.h (x86_cleanup): New prototype.
(md_cleanup): New.
* doc/c-i386.texi: Document -mx86-used-note=.
---
gas/NEWS | 5 +
gas/config.in | 4 +
gas/config/tc-i386.c | 303 +++++++++++++++++++++++++++++++++++++++++--
gas/config/tc-i386.h | 5 +
gas/configure | 28 +++-
gas/configure.ac | 21 +++
gas/doc/c-i386.texi | 9 ++
7 files changed, 361 insertions(+), 14 deletions(-)

diff --git a/gas/NEWS b/gas/NEWS
index 1f441eb672..c72034f052 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,10 @@
-*- text -*-

+* Add -mx86-used-note=[yes|no] option to generate (or not) x86 GNU property
+ notes. Add a --enable-x86-used-note configure time option to set the
+ default behavior. Set the default if the configure option is not used
+ to "no".
+
* Add support for the C-SKY processor series.

* Add support for the MIPS Loongson MultiMedia extensions Instructions (MMI)
diff --git a/gas/config.in b/gas/config.in
index aba70fb1e7..1170689ef1 100644
--- a/gas/config.in
+++ b/gas/config.in
@@ -50,6 +50,10 @@
/* Define to 1 if you want to generate x86 relax relocations by default. */
#undef DEFAULT_GENERATE_X86_RELAX_RELOCATIONS

+/* Define to 1 if you want to generate GNU x86 used ISA and feature properties
+ by default. */
+#undef DEFAULT_X86_USED_NOTE
+
/* Supported emulations. */
#undef EMULATIONS

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index b64fef9c1c..bb1d1725d4 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -188,6 +188,13 @@ static void s_bss (int);
#endif
#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
static void handle_large_common (int small ATTRIBUTE_UNUSED);
+
+/* GNU_PROPERTY_X86_ISA_1_USED. */
+static unsigned int x86_isa_1_used;
+/* GNU_PROPERTY_X86_FEATURE_2_USED. */
+static unsigned int x86_feature_2_used;
+/* Generate x86 used ISA and feature properties. */
+static unsigned int x86_used_note = DEFAULT_X86_USED_NOTE;
#endif

static const char *default_arch = DEFAULT_ARCH;
@@ -332,6 +339,18 @@ struct _i386_insn
unsigned int prefixes;
unsigned char prefix[MAX_PREFIXES];

+ /* Has MMX register operands. */
+ bfd_boolean has_regmmx;
+
+ /* Has XMM register operands. */
+ bfd_boolean has_regxmm;
+
+ /* Has YMM register operands. */
+ bfd_boolean has_regymm;
+
+ /* Has ZMM register operands. */
+ bfd_boolean has_regzmm;
+
/* RM and SIB are the modrm byte and the sib byte where the
addressing modes of this insn are encoded. */
modrm_byte rm;
@@ -7054,6 +7073,21 @@ build_modrm_byte (void)
{
i.rm.reg = i.op[dest].regs->reg_num;
i.rm.regmem = i.op[source].regs->reg_num;
+ if (i.op[dest].regs->reg_type.bitfield.regmmx
+ || i.op[source].regs->reg_type.bitfield.regmmx)
+ i.has_regmmx = TRUE;
+ else if (i.op[dest].regs->reg_type.bitfield.regsimd
+ || i.op[source].regs->reg_type.bitfield.regsimd)
+ {
+ if (i.types[dest].bitfield.zmmword
+ || i.types[source].bitfield.zmmword)
+ i.has_regzmm = TRUE;
+ else if (i.types[dest].bitfield.ymmword
+ || i.types[source].bitfield.ymmword)
+ i.has_regymm = TRUE;
+ else
+ i.has_regxmm = TRUE;
+ }
if ((i.op[dest].regs->reg_flags & RegRex) != 0)
i.rex |= REX_R;
if ((i.op[dest].regs->reg_flags & RegVRex) != 0)
@@ -7393,17 +7427,32 @@ build_modrm_byte (void)
unsigned int vex_reg = ~0;

for (op = 0; op < i.operands; op++)
- if (i.types[op].bitfield.reg
- || i.types[op].bitfield.regmmx
- || i.types[op].bitfield.regsimd
- || i.types[op].bitfield.regbnd
- || i.types[op].bitfield.regmask
- || i.types[op].bitfield.sreg2
- || i.types[op].bitfield.sreg3
- || i.types[op].bitfield.control
- || i.types[op].bitfield.debug
- || i.types[op].bitfield.test)
- break;
+ {
+ if (i.types[op].bitfield.reg
+ || i.types[op].bitfield.regbnd
+ || i.types[op].bitfield.regmask
+ || i.types[op].bitfield.sreg2
+ || i.types[op].bitfield.sreg3
+ || i.types[op].bitfield.control
+ || i.types[op].bitfield.debug
+ || i.types[op].bitfield.test)
+ break;
+ if (i.types[op].bitfield.regsimd)
+ {
+ if (i.types[op].bitfield.zmmword)
+ i.has_regzmm = TRUE;
+ else if (i.types[op].bitfield.ymmword)
+ i.has_regymm = TRUE;
+ else
+ i.has_regxmm = TRUE;
+ break;
+ }
+ if (i.types[op].bitfield.regmmx)
+ {
+ i.has_regmmx = TRUE;
+ break;
+ }
+ }

if (vex_3_sources)
op = dest;
@@ -7783,12 +7832,219 @@ output_interseg_jump (void)
md_number_to_chars (p + size, (valueT) i.op[0].imms->X_add_number, 2);
}

+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
+void
+x86_cleanup (void)
+{
+ char *p;
+ asection *seg = now_seg;
+ subsegT subseg = now_subseg;
+ asection *sec;
+ unsigned int alignment, align_size_1;
+ unsigned int isa_1_descsz, feature_2_descsz, descsz;
+ unsigned int isa_1_descsz_raw, feature_2_descsz_raw;
+ unsigned int padding;
+
+ if (!IS_ELF || !x86_used_note)
+ return;
+
+ x86_isa_1_used |= GNU_PROPERTY_X86_UINT32_VALID;
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_X86;
+
+ /* The .note.gnu.property section layout:
+
+ Field Length Contents
+ ---- ---- ----
+ n_namsz 4 4
+ n_descsz 4 The note descriptor size
+ n_type 4 NT_GNU_PROPERTY_TYPE_0
+ n_name 4 "GNU"
+ n_desc n_descsz The program property array
+ .... .... ....
+ */
+
+ /* Create the .note.gnu.property section. */
+ sec = subseg_new (NOTE_GNU_PROPERTY_SECTION_NAME, 0);
+ bfd_set_section_flags (stdoutput, sec,
+ (SEC_ALLOC
+ | SEC_LOAD
+ | SEC_DATA
+ | SEC_HAS_CONTENTS
+ | SEC_READONLY));
+
+ if (get_elf_backend_data (stdoutput)->s->elfclass == ELFCLASS64)
+ {
+ align_size_1 = 7;
+ alignment = 3;
+ }
+ else
+ {
+ align_size_1 = 3;
+ alignment = 2;
+ }
+
+ bfd_set_section_alignment (stdoutput, sec, alignment);
+ elf_section_type (sec) = SHT_NOTE;
+
+ /* GNU_PROPERTY_X86_ISA_1_USED: 4-byte type + 4-byte data size
+ + 4-byte data */
+ isa_1_descsz_raw = 4 + 4 + 4;
+ /* Align GNU_PROPERTY_X86_ISA_1_USED. */
+ isa_1_descsz = (isa_1_descsz_raw + align_size_1) & ~align_size_1;
+
+ feature_2_descsz_raw = isa_1_descsz;
+ /* GNU_PROPERTY_X86_FEATURE_2_USED: 4-byte type + 4-byte data size
+ + 4-byte data */
+ feature_2_descsz_raw += 4 + 4 + 4;
+ /* Align GNU_PROPERTY_X86_FEATURE_2_USED. */
+ feature_2_descsz = ((feature_2_descsz_raw + align_size_1)
+ & ~align_size_1);
+
+ descsz = feature_2_descsz;
+ /* Section size: n_namsz + n_descsz + n_type + n_name + n_descsz. */
+ p = frag_more (4 + 4 + 4 + 4 + descsz);
+
+ /* Write n_namsz. */
+ md_number_to_chars (p, (valueT) 4, 4);
+
+ /* Write n_descsz. */
+ md_number_to_chars (p + 4, (valueT) descsz, 4);
+
+ /* Write n_type. */
+ md_number_to_chars (p + 4 * 2, (valueT) NT_GNU_PROPERTY_TYPE_0, 4);
+
+ /* Write n_name. */
+ memcpy (p + 4 * 3, "GNU", 4);
+
+ /* Write 4-byte type. */
+ md_number_to_chars (p + 4 * 4,
+ (valueT) GNU_PROPERTY_X86_ISA_1_USED, 4);
+
+ /* Write 4-byte data size. */
+ md_number_to_chars (p + 4 * 5, (valueT) 4, 4);
+
+ /* Write 4-byte data. */
+ md_number_to_chars (p + 4 * 6, (valueT) x86_isa_1_used, 4);
+
+ /* Zero out paddings. */
+ padding = isa_1_descsz - isa_1_descsz_raw;
+ if (padding)
+ memset (p + 4 * 7, 0, padding);
+
+ /* Write 4-byte type. */
+ md_number_to_chars (p + isa_1_descsz + 4 * 4,
+ (valueT) GNU_PROPERTY_X86_FEATURE_2_USED, 4);
+
+ /* Write 4-byte data size. */
+ md_number_to_chars (p + isa_1_descsz + 4 * 5, (valueT) 4, 4);
+
+ /* Write 4-byte data. */
+ md_number_to_chars (p + isa_1_descsz + 4 * 6,
+ (valueT) x86_feature_2_used, 4);
+
+ /* Zero out paddings. */
+ padding = feature_2_descsz - feature_2_descsz_raw;
+ if (padding)
+ memset (p + isa_1_descsz + 4 * 7, 0, padding);
+
+ /* We probably can't restore the current segment, for there likely
+ isn't one yet... */
+ if (seg && subseg)
+ subseg_set (seg, subseg);
+}
+#endif
+
static void
output_insn (void)
{
fragS *insn_start_frag;
offsetT insn_start_off;

+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
+ if (IS_ELF && x86_used_note)
+ {
+ if (i.tm.cpu_flags.bitfield.cpucmov)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_CMOV;
+ if (i.tm.cpu_flags.bitfield.cpusse)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_SSE;
+ if (i.tm.cpu_flags.bitfield.cpusse2)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_SSE2;
+ if (i.tm.cpu_flags.bitfield.cpusse3)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_SSE3;
+ if (i.tm.cpu_flags.bitfield.cpussse3)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_SSSE3;
+ if (i.tm.cpu_flags.bitfield.cpusse4_1)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_SSE4_1;
+ if (i.tm.cpu_flags.bitfield.cpusse4_2)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_SSE4_2;
+ if (i.tm.cpu_flags.bitfield.cpuavx)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX;
+ if (i.tm.cpu_flags.bitfield.cpuavx2)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX2;
+ if (i.tm.cpu_flags.bitfield.cpufma)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_FMA;
+ if (i.tm.cpu_flags.bitfield.cpuavx512f)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512F;
+ if (i.tm.cpu_flags.bitfield.cpuavx512cd)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512CD;
+ if (i.tm.cpu_flags.bitfield.cpuavx512er)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512ER;
+ if (i.tm.cpu_flags.bitfield.cpuavx512pf)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512PF;
+ if (i.tm.cpu_flags.bitfield.cpuavx512vl)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512VL;
+ if (i.tm.cpu_flags.bitfield.cpuavx512dq)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512DQ;
+ if (i.tm.cpu_flags.bitfield.cpuavx512bw)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512BW;
+ if (i.tm.cpu_flags.bitfield.cpuavx512_4fmaps)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_4FMAPS;
+ if (i.tm.cpu_flags.bitfield.cpuavx512_4vnniw)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_4VNNIW;
+ if (i.tm.cpu_flags.bitfield.cpuavx512_bitalg)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_BITALG;
+ if (i.tm.cpu_flags.bitfield.cpuavx512ifma)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_IFMA;
+ if (i.tm.cpu_flags.bitfield.cpuavx512vbmi)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_VBMI;
+ if (i.tm.cpu_flags.bitfield.cpuavx512_vbmi2)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2;
+ if (i.tm.cpu_flags.bitfield.cpuavx512_vnni)
+ x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_VNNI;
+
+ if (i.tm.cpu_flags.bitfield.cpu8087
+ || i.tm.cpu_flags.bitfield.cpu287
+ || i.tm.cpu_flags.bitfield.cpu387
+ || i.tm.cpu_flags.bitfield.cpu687
+ || i.tm.cpu_flags.bitfield.cpufisttp)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_X87;
+ /* Don't set GNU_PROPERTY_X86_FEATURE_2_MMX for prefetchtXXX nor
+ Xfence instructions. */
+ if (i.tm.base_opcode != 0xf18
+ && i.tm.base_opcode != 0xf0d
+ && i.tm.base_opcode != 0xfae
+ && (i.has_regmmx
+ || i.tm.cpu_flags.bitfield.cpummx
+ || i.tm.cpu_flags.bitfield.cpua3dnow
+ || i.tm.cpu_flags.bitfield.cpua3dnowa))
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_MMX;
+ if (i.has_regxmm)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XMM;
+ if (i.has_regymm)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_YMM;
+ if (i.has_regzmm)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_ZMM;
+ if (i.tm.cpu_flags.bitfield.cpufxsr)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_FXSR;
+ if (i.tm.cpu_flags.bitfield.cpuxsave)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVE;
+ if (i.tm.cpu_flags.bitfield.cpuxsaveopt)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVEOPT;
+ if (i.tm.cpu_flags.bitfield.cpuxsavec)
+ x86_feature_2_used |= GNU_PROPERTY_X86_FEATURE_2_XSAVEC;
+ }
+#endif
+
/* Tie dwarf2 debug info to the address at the start of the insn.
We can't do this after the insn has been output as the current
frag may have been closed off. eg. by frag_var. */
@@ -10581,6 +10837,7 @@ const char *md_shortopts = "qnO::";
#define OPTION_MAMD64 (OPTION_MD_BASE + 22)
#define OPTION_MINTEL64 (OPTION_MD_BASE + 23)
#define OPTION_MFENCE_AS_LOCK_ADD (OPTION_MD_BASE + 24)
+#define OPTION_X86_USED_NOTE (OPTION_MD_BASE + 25)

struct option md_longopts[] =
{
@@ -10592,6 +10849,7 @@ struct option md_longopts[] =
#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
{"x32", no_argument, NULL, OPTION_X32},
{"mshared", no_argument, NULL, OPTION_MSHARED},
+ {"mx86-used-note", required_argument, NULL, OPTION_X86_USED_NOTE},
#endif
{"divide", no_argument, NULL, OPTION_DIVIDE},
{"march", required_argument, NULL, OPTION_MARCH},
@@ -10659,6 +10917,17 @@ md_parse_option (int c, const char *arg)
case OPTION_MSHARED:
shared = 1;
break;
+
+ case OPTION_X86_USED_NOTE:
+ if (strcasecmp (arg, "yes") == 0)
+ x86_used_note = 1;
+ else if (strcasecmp (arg, "no") == 0)
+ x86_used_note = 0;
+ else
+ as_fatal (_("invalid -mx86-used-note= option: `%s'"), arg);
+ break;
+
+
#endif
#if (defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) \
|| defined (TE_PE) || defined (TE_PEP) || defined (OBJ_MACH_O))
@@ -11196,9 +11465,19 @@ md_show_usage (FILE *stream)
-mnaked-reg don't require `%%' prefix for registers\n"));
fprintf (stream, _("\
-madd-bnd-prefix add BND prefix for all valid branches\n"));
+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
fprintf (stream, _("\
-mshared disable branch optimization for shared code\n"));
-# if defined (TE_PE) || defined (TE_PEP)
+ fprintf (stream, _("\
+ -mx86-used-note=[no|yes] "));
+ if (DEFAULT_X86_USED_NOTE)
+ fprintf (stream, _("(default: yes)\n"));
+ else
+ fprintf (stream, _("(default: no)\n"));
+ fprintf (stream, _("\
+ generate x86 used ISA and feature properties\n"));
+#endif
+#if defined (TE_PE) || defined (TE_PEP)
fprintf (stream, _("\
-mbig-obj generate big object files\n"));
#endif
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index 833047980b..5426301025 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -316,6 +316,11 @@ extern bfd_vma x86_64_section_letter (int, const char **);
#define md_elf_section_letter(LETTER, PTR_MSG) x86_64_section_letter (LETTER, PTR_MSG)
#define md_elf_section_word(STR, LEN) x86_64_section_word (STR, LEN)

+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
+extern void x86_cleanup (void);
+#define md_cleanup() x86_cleanup ()
+#endif
+
#ifdef TE_PE

#define O_secrel O_md1
diff --git a/gas/configure b/gas/configure
index 7dc72c08b0..35effb4006 100755
--- a/gas/configure
+++ b/gas/configure
@@ -808,6 +808,7 @@ enable_compressed_debug_sections
enable_x86_relax_relocations
enable_elf_stt_common
enable_generate_build_notes
+enable_x86_used_note
enable_werror
enable_build_warnings
with_cpu
@@ -1469,6 +1470,7 @@ Optional Features:
--enable-generate-build-notes
generate GNU Build notes if none are provided by the
input
+ --enable-x86-used-note generate GNU x86 used ISA and feature properties
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings
--disable-nls do not use Native Language Support
@@ -11335,7 +11337,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11338 "configure"
+#line 11340 "configure"
#include "confdefs.h"

#if HAVE_DLFCN_H
@@ -11441,7 +11443,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11444 "configure"
+#line 11446 "configure"
#include "confdefs.h"

#if HAVE_DLFCN_H
@@ -12111,6 +12113,19 @@ esac
fi


+# Decide if the x86 ELF assembler should default to generating GNU x86
+# used ISA and feature properties.
+ac_default_generate_x86_used_note=unset
+# Provide a configuration option to override the default.
+# Check whether --enable-x86-used-note was given.
+if test "${enable_x86_used_note+set}" = set; then :
+ enableval=$enable_x86_used_note; case "${enableval}" in
+ yes) ac_default_generate_x86_used_note=1 ;;
+ no) ac_default_generate_x86_used_note=0 ;;
+esac
+fi
+
+
using_cgen=no


@@ -13039,6 +13054,15 @@ cat >>confdefs.h <<_ACEOF
_ACEOF


+if test ${ac_default_generate_x86_used_note} = unset; then
+ ac_default_generate_x86_used_note=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_X86_USED_NOTE $ac_default_generate_x86_used_note
+_ACEOF
+
+
if test x$ac_default_compressed_debug_sections = xyes ; then

$as_echo "#define DEFAULT_FLAG_COMPRESS_DEBUG 1" >>confdefs.h
diff --git a/gas/configure.ac b/gas/configure.ac
index 79714eb3dc..d8fddfb19e 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -113,6 +113,19 @@ AC_ARG_ENABLE(generate_build_notes,
esac])dnl


+# Decide if the x86 ELF assembler should default to generating GNU x86
+# used ISA and feature properties.
+ac_default_generate_x86_used_note=unset
+# Provide a configuration option to override the default.
+AC_ARG_ENABLE(x86-used-note,
+ AS_HELP_STRING([--enable-x86-used-note],
+ [generate GNU x86 used ISA and feature properties]),
+[case "${enableval}" in
+ yes) ac_default_generate_x86_used_note=1 ;;
+ no) ac_default_generate_x86_used_note=0 ;;
+esac])dnl
+
+
using_cgen=no

AM_BINUTILS_WARNINGS
@@ -613,6 +626,14 @@ AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_BUILD_NOTES,
[Define to 1 if you want to generate GNU Build attribute notes
by default, if none are contained in the input.])

+if test ${ac_default_generate_x86_used_note} = unset; then
+ ac_default_generate_x86_used_note=0
+fi
+AC_DEFINE_UNQUOTED(DEFAULT_X86_USED_NOTE,
+ $ac_default_generate_x86_used_note,
+ [Define to 1 if you want to generate GNU x86 used ISA and feature
+ properties by default.])
+
if test x$ac_default_compressed_debug_sections = xyes ; then
AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
fi
diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi
index c9eb178aa5..64e33977d7 100644
--- a/gas/doc/c-i386.texi
+++ b/gas/doc/c-i386.texi
@@ -400,6 +400,15 @@ R_X86_64_REX_GOTPCRELX, in 64-bit mode.
relocations. The default can be controlled by a configure option
@option{--enable-x86-relax-relocations}.

+@cindex @samp{-mx86-used-note=} option, i386
+@cindex @samp{-mx86-used-note=} option, x86-64
+@item -mx86-used-note=@var{no}
+@itemx -mx86-used-note=@var{yes}
+These options control whether the assembler should generate
+GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_FEATURE_2_USED
+GNU property notes. The default can be controlled by the
+@option{--enable-x86-used-note} configure option.
+
@cindex @samp{-mevexrcig=} option, i386
@cindex @samp{-mevexrcig=} option, x86-64
@item -mevexrcig=@var{rne}
--
2.17.1
H.J. Lu
2018-08-28 15:22:58 UTC
Permalink
Since cfi/cfi-label.d is ELF/x86 specific, we can pass -mx86-used-note=no
to assembler.

* testsuite/gas/cfi/cfi-label.d: Pass -mx86-used-note=no to
assembler.
---
gas/testsuite/gas/cfi/cfi-label.d | 1 +
1 file changed, 1 insertion(+)

diff --git a/gas/testsuite/gas/cfi/cfi-label.d b/gas/testsuite/gas/cfi/cfi-label.d
index e96c795f4e..1c457c88f3 100644
--- a/gas/testsuite/gas/cfi/cfi-label.d
+++ b/gas/testsuite/gas/cfi/cfi-label.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#objdump: -tWf
#name: .cfi_label directive
--
2.17.1
H.J. Lu
2018-08-28 15:23:00 UTC
Permalink
Since x86 assembler may generate .note.gnu.property section and S-records
can't handle .note.gnu.property sections, add -mx86-used-note=no to
S-records tests on ELF/x86 targets to avoid .note.gnu.property section.

* testsuite/ld-srec/srec.exp: Append -Wa,-mx86-used-note=no to
CC and CXX on ELF/x86 targets.
---
ld/testsuite/ld-srec/srec.exp | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/ld/testsuite/ld-srec/srec.exp b/ld/testsuite/ld-srec/srec.exp
index d155c18f2c..440112c756 100644
--- a/ld/testsuite/ld-srec/srec.exp
+++ b/ld/testsuite/ld-srec/srec.exp
@@ -357,6 +357,13 @@ set CC "$CC $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS"
set old_CXX "$CXX"
set CXX "$CXX $PLT_CFLAGS $NOPIE_CFLAGS $NOPIE_LDFLAGS"

+# S-records can't handle .note.gnu.property sections.
+if { [is_elf_format] \
+ && ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"]) } {
+ set CC "$CC -Wa,-mx86-used-note=no"
+ set CXX "$CXX -Wa,-mx86-used-note=no"
+}
+
if { ![ld_compile $CC $srcdir/$subdir/sr1.c tmpdir/sr1.o] \
|| ![ld_compile $CC $srcdir/$subdir/sr2.c tmpdir/sr2.o] } {
unresolved $test1
--
2.17.1
H.J. Lu
2018-08-28 15:22:59 UTC
Permalink
Since x86 assembler may generate .note.gnu.property section, pass
-mx86-used-note=no to assembler for section2 test on ELF/x86 targets
to avoid .note.gnu.property section.

* testsuite/ld-elf/elf.exp: Pass -mx86-used-note=no to
assembler for section2 test on ELF/x86 targets.
---
gas/testsuite/gas/elf/elf.exp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
index a7c793b0b0..f0ce8faad8 100644
--- a/gas/testsuite/gas/elf/elf.exp
+++ b/gas/testsuite/gas/elf/elf.exp
@@ -170,7 +170,11 @@ if { [is_elf_format] } then {
if {! [istarget "h8300-*-*"]} then {
# The h8300 port issues a warning message for
# new sections created without atrributes.
- run_elf_list_test "section2" "$target_machine" "-al" "-s" ""
+ if { [istarget "i*86-*-*"] || [istarget "x86_64-*-*"] } then {
+ run_elf_list_test "section2" "$target_machine" "-al -mx86-used-note=no" "-s" ""
+ } {
+ run_elf_list_test "section2" "$target_machine" "-al" "-s" ""
+ }
}
run_dump_test "section3"
run_dump_test "section4"
--
2.17.1
H.J. Lu
2018-08-28 15:23:01 UTC
Permalink
Since x86 assembler may generate .note.gnu.property section, append
-mx86-used-note=no to tests which don't expect .note.gnu.property
section on ELF/x86 targets.

* testsuite/ld-elf/elf.exp (ASFLAGS): Save, append
-mx86-used-note=no and restore.
---
ld/testsuite/ld-elf/elf.exp | 8 ++++++++
ld/testsuite/ld-ifunc/ifunc.exp | 8 ++++++++
ld/testsuite/ld-scripts/defined.exp | 8 ++++++++
ld/testsuite/ld-scripts/overlay-size.exp | 9 +++++++++
4 files changed, 33 insertions(+)

diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp
index bb7f4b0463..96ee01f9b1 100644
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -95,6 +95,12 @@ if [is_underscore_target] {
set ASFLAGS "$ASFLAGS --defsym UNDERSCORE=1"
}

+global ASFLAGS
+set saved_ASFLAGS "$ASFLAGS"
+if { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
+ set ASFLAGS "$ASFLAGS -mx86-used-note=no"
+}
+
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
foreach t $test_list {
# We need to strip the ".d", but can leave the dirname.
@@ -102,6 +108,8 @@ foreach t $test_list {
run_dump_test [file rootname $t]
}

+set ASFLAGS "$saved_ASFLAGS"
+
# Targets using the generic linker backend don't support generating
# an import library.
set xfail_implib ""
diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp
index 5fee56d3bf..2b8084e2b2 100644
--- a/ld/testsuite/ld-ifunc/ifunc.exp
+++ b/ld/testsuite/ld-ifunc/ifunc.exp
@@ -45,6 +45,12 @@ if ![check_shared_lib_support] {
return
}

+global ASFLAGS
+set saved_ASFLAGS "$ASFLAGS"
+if { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
+ set ASFLAGS "$ASFLAGS -mx86-used-note=no"
+}
+
# This test does not need a compiler...
run_dump_test "ifuncmod5"

@@ -770,3 +776,5 @@ run_ld_link_exec_tests [list \
"-fPIE -O2 -g" \
] \
]}
+
+set ASFLAGS "$saved_ASFLAGS"
diff --git a/ld/testsuite/ld-scripts/defined.exp b/ld/testsuite/ld-scripts/defined.exp
index f3571b87b1..82e3d0955f 100644
--- a/ld/testsuite/ld-scripts/defined.exp
+++ b/ld/testsuite/ld-scripts/defined.exp
@@ -62,6 +62,13 @@ if ![ld_link $ld tmpdir/def "$LDFLAGS -T $srcdir/$subdir/defined.t tmpdir/def.o"
}
}

+global ASFLAGS
+set saved_ASFLAGS "$ASFLAGS"
+if { [is_elf_format] \
+ && ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"]) } {
+ set ASFLAGS "$ASFLAGS -mx86-used-note=no"
+}
+
set prms_id 0
run_dump_test "defined2"
run_dump_test "defined3"
@@ -73,3 +80,4 @@ if [is_elf_format] {
run_dump_test "defined6"
}
set LDFLAGS "$saved_LDFLAGS"
+set ASFLAGS "$saved_ASFLAGS"
diff --git a/ld/testsuite/ld-scripts/overlay-size.exp b/ld/testsuite/ld-scripts/overlay-size.exp
index 04c0075b52..b52eb1b0d2 100644
--- a/ld/testsuite/ld-scripts/overlay-size.exp
+++ b/ld/testsuite/ld-scripts/overlay-size.exp
@@ -22,4 +22,13 @@ if ![is_elf_format] {
return
}

+global ASFLAGS
+set saved_ASFLAGS "$ASFLAGS"
+if { [is_elf_format] \
+ && ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"]) } {
+ set ASFLAGS "$ASFLAGS -mx86-used-note=no"
+}
+
run_dump_test overlay-size
+
+set ASFLAGS "$saved_ASFLAGS"
--
2.17.1
H.J. Lu
2018-08-28 15:22:56 UTC
Permalink
Pass explicit -mx86-used-note=[yes|no] to x86 assembler and update
expected outputs from "readelf -n" if needed.

binutils/

* testsuite/binutils-all/i386/compressed-1b.d: Pass
-mx86-used-note=no to assembler.
* testsuite/binutils-all/i386/compressed-1c.d: Likewise.
* testsuite/binutils-all/x86-64/compressed-1b.d: Likewise.
* testsuite/binutils-all/x86-64/compressed-1c.d: Likewise.
* testsuite/binutils-all/i386/empty.d: Pass -mx86-used-note=yes
to assembler and update expected output from "readelf -n".
* 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/pr23494b-x32.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494b.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/

* testsuite/gas/i386/bss.d: Pass -mx86-used-note=no to assembler.
* testsuite/gas/i386/ilp32/quad.d: Likewise.
* testsuite/gas/i386/ilp32/reloc64.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-size-1.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-size-3.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-size-5.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-unwind.d: Likewise.
* testsuite/gas/i386/property-1.d: Likewise.
* testsuite/gas/i386/relax.d: Likewise.
* testsuite/gas/i386/reloc64.d: Likewise.
* testsuite/gas/i386/size-1.d: Likewise.
* testsuite/gas/i386/size-3.d: Likewise.
* testsuite/gas/i386/x86-64-property-1.d: Likewise.
* testsuite/gas/i386/x86-64-size-1.d: Likewise.
* testsuite/gas/i386/x86-64-size-3.d: Likewise.
* testsuite/gas/i386/x86-64-size-5.d: Likewise.
* testsuite/gas/i386/x86-64-unwind.d: Likewise.
* testsuite/gas/i386/divide.d: Append "#pass".

ld/

* testsuite/ld-i386/i386.exp: (ASFLAGS): Save, append
-mx86-used-note=no and restore. Pass -mx86-used-note=yes and
-mx86-used-note=no to assembler.
* testsuite/ld-x86-64/x86-64.exp: Likewise.
* testsuite/ld-i386/no-plt.exp: Pass -mx86-used-note=yes to
assembler.
* testsuite/ld-i386/tls.exp: Likewise.
* testsuite/ld-x86-64/no-plt.exp: Likewise.
* testsuite/ld-x86-64/tls.exp: Likewise.
* testsuite/ld-i386/pr23486a.d: Pass -mx86-used-note=no to
assembler.
* testsuite/ld-i386/pr23486b.d: Likewise.
* testsuite/ld-x86-64/bnd-branch-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-2-now.d: Likewise.
* testsuite/ld-x86-64/bnd-ifunc-2.d: Likewise.
* testsuite/ld-x86-64/bnd-plt-1-now.d: Likewise.
* testsuite/ld-x86-64/bnd-plt-1.d: Likewise.
* testsuite/ld-x86-64/pr23486a-x32.d: Likewise.
* testsuite/ld-x86-64/pr23486a.d: Likewise.
* testsuite/ld-x86-64/pr23486b-x32.d: Likewise.
* testsuite/ld-x86-64/pr23486b.d: Likewise.
* testsuite/ld-i386/property-x86-3.d: Pass -mx86-used-note=yes
to assembler and update expected output from "readelf -n".
* testsuite/ld-i386/property-x86-4a.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/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-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/property-1a.r: New file.
* testsuite/ld-i386/property-2a.r: Likewise.
* testsuite/ld-i386/property-3a.r: Likewise.
* testsuite/ld-i386/property-4a.r: Likewise.
* testsuite/ld-i386/property-5a.r: Likewise.
* testsuite/ld-i386/property-7a.r: Likewise.
* testsuite/ld-x86-64/property-1a.r: Likewise.
* testsuite/ld-x86-64/property-2a.r: Likewise.
* testsuite/ld-x86-64/property-3a.r: Likewise.
* testsuite/ld-x86-64/property-4a.r: Likewise.
* testsuite/ld-x86-64/property-5a.r: Likewise.
* testsuite/ld-x86-64/property-7a.r: Likewise.
* testsuite/ld-x86-64/mpx.exp: Pass -mx86-used-note=no to
assembler.
---
.../binutils-all/i386/compressed-1b.d | 2 +-
.../binutils-all/i386/compressed-1c.d | 2 +-
binutils/testsuite/binutils-all/i386/empty.d | 5 +-
binutils/testsuite/binutils-all/i386/ibt.d | 5 +-
.../testsuite/binutils-all/i386/pr21231a.d | 5 +-
.../testsuite/binutils-all/i386/pr21231b.d | 5 +-
binutils/testsuite/binutils-all/i386/shstk.d | 5 +-
.../binutils-all/x86-64/compressed-1b.d | 2 +-
.../binutils-all/x86-64/compressed-1c.d | 2 +-
.../testsuite/binutils-all/x86-64/empty-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/empty.d | 5 +-
.../testsuite/binutils-all/x86-64/ibt-x32.d | 5 +-
binutils/testsuite/binutils-all/x86-64/ibt.d | 5 +-
.../testsuite/binutils-all/x86-64/pr21231a.d | 5 +-
.../testsuite/binutils-all/x86-64/pr21231b.d | 5 +-
.../binutils-all/x86-64/pr23494a-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/pr23494a.d | 5 +-
.../binutils-all/x86-64/pr23494b-x32.d | 2 +-
.../testsuite/binutils-all/x86-64/pr23494b.d | 2 +-
.../binutils-all/x86-64/pr23494c-x32.d | 2 +-
.../testsuite/binutils-all/x86-64/pr23494c.d | 2 +-
.../binutils-all/x86-64/pr23494d-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/pr23494d.d | 5 +-
.../binutils-all/x86-64/pr23494e-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/pr23494e.d | 5 +-
.../testsuite/binutils-all/x86-64/shstk-x32.d | 5 +-
.../testsuite/binutils-all/x86-64/shstk.d | 5 +-
gas/testsuite/gas/i386/bss.d | 1 +
gas/testsuite/gas/i386/divide.d | 1 +
gas/testsuite/gas/i386/ilp32/quad.d | 1 +
gas/testsuite/gas/i386/ilp32/reloc64.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-size-1.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-size-3.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-size-5.d | 1 +
gas/testsuite/gas/i386/ilp32/x86-64-unwind.d | 1 +
gas/testsuite/gas/i386/property-1.d | 1 +
gas/testsuite/gas/i386/relax.d | 1 +
gas/testsuite/gas/i386/reloc64.d | 1 +
gas/testsuite/gas/i386/size-1.d | 1 +
gas/testsuite/gas/i386/size-3.d | 1 +
gas/testsuite/gas/i386/x86-64-property-1.d | 2 +-
gas/testsuite/gas/i386/x86-64-size-1.d | 1 +
gas/testsuite/gas/i386/x86-64-size-3.d | 1 +
gas/testsuite/gas/i386/x86-64-size-5.d | 1 +
gas/testsuite/gas/i386/x86-64-unwind.d | 1 +
ld/testsuite/ld-i386/i386.exp | 263 ++++++++-------
ld/testsuite/ld-i386/no-plt.exp | 82 ++---
ld/testsuite/ld-i386/pr23486a.d | 2 +-
ld/testsuite/ld-i386/pr23486b.d | 2 +-
ld/testsuite/ld-i386/property-1a.r | 9 +
ld/testsuite/ld-i386/property-2a.r | 9 +
ld/testsuite/ld-i386/property-3a.r | 9 +
ld/testsuite/ld-i386/property-4a.r | 9 +
ld/testsuite/ld-i386/property-5a.r | 9 +
ld/testsuite/ld-i386/property-7a.r | 8 +
ld/testsuite/ld-i386/property-x86-3.d | 5 +-
ld/testsuite/ld-i386/property-x86-4a.d | 7 +-
ld/testsuite/ld-i386/property-x86-ibt1a.d | 7 +-
ld/testsuite/ld-i386/property-x86-ibt1b.d | 7 +-
ld/testsuite/ld-i386/property-x86-ibt2.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt3a.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt3b.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt4.d | 6 +-
ld/testsuite/ld-i386/property-x86-ibt5.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk1a.d | 7 +-
ld/testsuite/ld-i386/property-x86-shstk1b.d | 7 +-
ld/testsuite/ld-i386/property-x86-shstk2.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk3a.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk3b.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk4.d | 6 +-
ld/testsuite/ld-i386/property-x86-shstk5.d | 6 +-
ld/testsuite/ld-i386/tls.exp | 44 +--
ld/testsuite/ld-x86-64/bnd-branch-1-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-ifunc-2.d | 2 +-
ld/testsuite/ld-x86-64/bnd-plt-1-now.d | 2 +-
ld/testsuite/ld-x86-64/bnd-plt-1.d | 2 +-
ld/testsuite/ld-x86-64/mpx.exp | 6 +-
ld/testsuite/ld-x86-64/no-plt.exp | 54 ++--
ld/testsuite/ld-x86-64/pr23486a-x32.d | 2 +-
ld/testsuite/ld-x86-64/pr23486a.d | 2 +-
ld/testsuite/ld-x86-64/pr23486b-x32.d | 2 +-
ld/testsuite/ld-x86-64/pr23486b.d | 2 +-
ld/testsuite/ld-x86-64/property-1a.r | 9 +
ld/testsuite/ld-x86-64/property-2a.r | 9 +
ld/testsuite/ld-x86-64/property-3a.r | 9 +
ld/testsuite/ld-x86-64/property-4a.r | 9 +
ld/testsuite/ld-x86-64/property-5a.r | 9 +
ld/testsuite/ld-x86-64/property-7a.r | 8 +
ld/testsuite/ld-x86-64/property-x86-3-x32.d | 5 +-
ld/testsuite/ld-x86-64/property-x86-3.d | 5 +-
ld/testsuite/ld-x86-64/property-x86-4a-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-4a.d | 7 +-
.../ld-x86-64/property-x86-ibt1a-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-ibt1a.d | 7 +-
.../ld-x86-64/property-x86-ibt1b-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-ibt1b.d | 7 +-
.../ld-x86-64/property-x86-ibt2-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt2.d | 6 +-
.../ld-x86-64/property-x86-ibt3a-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt3a.d | 6 +-
.../ld-x86-64/property-x86-ibt3b-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt3b.d | 6 +-
.../ld-x86-64/property-x86-ibt4-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt4.d | 6 +-
.../ld-x86-64/property-x86-ibt5-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-ibt5.d | 6 +-
.../ld-x86-64/property-x86-shstk1a-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-shstk1a.d | 7 +-
.../ld-x86-64/property-x86-shstk1b-x32.d | 7 +-
ld/testsuite/ld-x86-64/property-x86-shstk1b.d | 7 +-
.../ld-x86-64/property-x86-shstk2-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk2.d | 6 +-
.../ld-x86-64/property-x86-shstk3a-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk3a.d | 6 +-
.../ld-x86-64/property-x86-shstk3b-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk3b.d | 6 +-
.../ld-x86-64/property-x86-shstk4-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk4.d | 6 +-
.../ld-x86-64/property-x86-shstk5-x32.d | 6 +-
ld/testsuite/ld-x86-64/property-x86-shstk5.d | 6 +-
ld/testsuite/ld-x86-64/tls.exp | 44 +--
ld/testsuite/ld-x86-64/x86-64.exp | 302 +++++++++---------
124 files changed, 839 insertions(+), 516 deletions(-)
create mode 100644 ld/testsuite/ld-i386/property-1a.r
create mode 100644 ld/testsuite/ld-i386/property-2a.r
create mode 100644 ld/testsuite/ld-i386/property-3a.r
create mode 100644 ld/testsuite/ld-i386/property-4a.r
create mode 100644 ld/testsuite/ld-i386/property-5a.r
create mode 100644 ld/testsuite/ld-i386/property-7a.r
create mode 100644 ld/testsuite/ld-x86-64/property-1a.r
create mode 100644 ld/testsuite/ld-x86-64/property-2a.r
create mode 100644 ld/testsuite/ld-x86-64/property-3a.r
create mode 100644 ld/testsuite/ld-x86-64/property-4a.r
create mode 100644 ld/testsuite/ld-x86-64/property-5a.r
create mode 100644 ld/testsuite/ld-x86-64/property-7a.r

diff --git a/binutils/testsuite/binutils-all/i386/compressed-1b.d b/binutils/testsuite/binutils-all/i386/compressed-1b.d
index d74af4d160..9ed82caf60 100644
--- a/binutils/testsuite/binutils-all/i386/compressed-1b.d
+++ b/binutils/testsuite/binutils-all/i386/compressed-1b.d
@@ -1,6 +1,6 @@
#PROG: strip
#source: compressed-1.s
-#as: --32
+#as: --32 -mx86-used-note=no
#strip:
#readelf: -S --wide
#name: strip on uncompressed debug sections
diff --git a/binutils/testsuite/binutils-all/i386/compressed-1c.d b/binutils/testsuite/binutils-all/i386/compressed-1c.d
index 3a0cba5069..dc96dd7dcf 100644
--- a/binutils/testsuite/binutils-all/i386/compressed-1c.d
+++ b/binutils/testsuite/binutils-all/i386/compressed-1c.d
@@ -1,6 +1,6 @@
#PROG: strip
#source: compressed-1.s
-#as: --32 --compress-debug-sections
+#as: --32 --compress-debug-sections -mx86-used-note=no
#strip:
#readelf: -S --wide
#name: strip on compressed debug sections
diff --git a/binutils/testsuite/binutils-all/i386/empty.d b/binutils/testsuite/binutils-all/i386/empty.d
index 5f4cc5632e..809280f73f 100644
--- a/binutils/testsuite/binutils-all/i386/empty.d
+++ b/binutils/testsuite/binutils-all/i386/empty.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --32
+#as: --32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature:
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/i386/ibt.d b/binutils/testsuite/binutils-all/i386/ibt.d
index dfd7676002..59f04c26ec 100644
--- a/binutils/testsuite/binutils-all/i386/ibt.d
+++ b/binutils/testsuite/binutils-all/i386/ibt.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --32
+#as: --32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/i386/pr21231a.d b/binutils/testsuite/binutils-all/i386/pr21231a.d
index 7c13b85f57..a585703311 100644
--- a/binutils/testsuite/binutils-all/i386/pr21231a.d
+++ b/binutils/testsuite/binutils-all/i386/pr21231a.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --32
+#as: --32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000008 NT_GNU_PROPERTY_TYPE_0
Properties: no copy on protected
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/i386/pr21231b.d b/binutils/testsuite/binutils-all/i386/pr21231b.d
index 3fad846e73..044a596cd7 100644
--- a/binutils/testsuite/binutils-all/i386/pr21231b.d
+++ b/binutils/testsuite/binutils-all/i386/pr21231b.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --32
+#as: --32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -10,3 +10,6 @@ Displaying notes found in: .note.gnu.property
no copy on protected
x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, <unknown: 1000000>, <unknown: 2000000>, <unknown: 4000000>, <unknown: 8000000>, <unknown: 10000000>, <unknown: 20000000>, <unknown: 40000000>
x86 ISA needed: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/i386/shstk.d b/binutils/testsuite/binutils-all/i386/shstk.d
index 933704cf91..4597818e6d 100644
--- a/binutils/testsuite/binutils-all/i386/shstk.d
+++ b/binutils/testsuite/binutils-all/i386/shstk.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --32
+#as: --32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/compressed-1b.d b/binutils/testsuite/binutils-all/x86-64/compressed-1b.d
index 040bdd3a67..c041a53260 100644
--- a/binutils/testsuite/binutils-all/x86-64/compressed-1b.d
+++ b/binutils/testsuite/binutils-all/x86-64/compressed-1b.d
@@ -1,6 +1,6 @@
#PROG: strip
#source: compressed-1.s
-#as: --64
+#as: --64 -mx86-used-note=no
#strip:
#readelf: -S --wide
#name: strip on uncompressed debug sections
diff --git a/binutils/testsuite/binutils-all/x86-64/compressed-1c.d b/binutils/testsuite/binutils-all/x86-64/compressed-1c.d
index 96eb6d46c6..2039cd676e 100644
--- a/binutils/testsuite/binutils-all/x86-64/compressed-1c.d
+++ b/binutils/testsuite/binutils-all/x86-64/compressed-1c.d
@@ -1,6 +1,6 @@
#PROG: strip
#source: compressed-1.s
-#as: --64 --compress-debug-sections
+#as: --64 --compress-debug-sections -mx86-used-note=no
#strip:
#readelf: -S --wide
#name: strip on compressed debug sections
diff --git a/binutils/testsuite/binutils-all/x86-64/empty-x32.d b/binutils/testsuite/binutils-all/x86-64/empty-x32.d
index 4193818a91..f6503746e8 100644
--- a/binutils/testsuite/binutils-all/x86-64/empty-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/empty-x32.d
@@ -1,6 +1,6 @@
#source: empty.s
#PROG: objcopy
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -8,3 +8,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature:
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/empty.d b/binutils/testsuite/binutils-all/x86-64/empty.d
index 777efbb1e0..30a2ea4830 100644
--- a/binutils/testsuite/binutils-all/x86-64/empty.d
+++ b/binutils/testsuite/binutils-all/x86-64/empty.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature:
+ GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/ibt-x32.d b/binutils/testsuite/binutils-all/x86-64/ibt-x32.d
index 5be7c98e07..f749b13fc8 100644
--- a/binutils/testsuite/binutils-all/x86-64/ibt-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/ibt-x32.d
@@ -1,6 +1,6 @@
#source: ibt.s
#PROG: objcopy
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -8,3 +8,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/ibt.d b/binutils/testsuite/binutils-all/x86-64/ibt.d
index 7bedff5032..bf76db5c41 100644
--- a/binutils/testsuite/binutils-all/x86-64/ibt.d
+++ b/binutils/testsuite/binutils-all/x86-64/ibt.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr21231a.d b/binutils/testsuite/binutils-all/x86-64/pr21231a.d
index 2a000483e8..490864eb12 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr21231a.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr21231a.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --64
+#as: --64 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000008 NT_GNU_PROPERTY_TYPE_0
Properties: no copy on protected
+ GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr21231b.d b/binutils/testsuite/binutils-all/x86-64/pr21231b.d
index 150a8ca7d4..7ee42d5dd1 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr21231b.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr21231b.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --64
+#as: --64 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -10,3 +10,6 @@ Displaying notes found in: .note.gnu.property
no copy on protected
x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, <unknown: 1000000>, <unknown: 2000000>, <unknown: 4000000>, <unknown: 8000000>, <unknown: 10000000>, <unknown: 20000000>, <unknown: 40000000>
x86 ISA needed: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ
+ GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494a-x32.d b/binutils/testsuite/binutils-all/x86-64/pr23494a-x32.d
index ad8f9b16c3..cba5a3f69b 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494a-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494a-x32.d
@@ -1,12 +1,13 @@
#source: pr23494a.s
#PROG: objcopy
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64
#readelf: -n
#not-target: x86_64-*-nacl*

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE4_1, AVX
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494a.d b/binutils/testsuite/binutils-all/x86-64/pr23494a.d
index 32e296ff13..3638ce0b73 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494a.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494a.d
@@ -1,12 +1,13 @@
#source: pr23494a.s
#PROG: objcopy
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64
#readelf: -n
#not-target: x86_64-*-nacl*

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE4_1, AVX
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494b-x32.d b/binutils/testsuite/binutils-all/x86-64/pr23494b-x32.d
index f923e2fad6..9082650419 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494b-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494b-x32.d
@@ -1,6 +1,6 @@
#source: pr23494a.s
#PROG: objcopy
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64 -R .note.gnu.property
#readelf: -n
#not-target: x86_64-*-nacl*
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494b.d b/binutils/testsuite/binutils-all/x86-64/pr23494b.d
index 4916be08ad..b0ded581f6 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494b.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494b.d
@@ -1,6 +1,6 @@
#source: pr23494a.s
#PROG: objcopy
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64 -R .note.gnu.property
#readelf: -n
#not-target: x86_64-*-nacl*
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494c-x32.d b/binutils/testsuite/binutils-all/x86-64/pr23494c-x32.d
index 761c1371e3..52a16ae3d7 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494c-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494c-x32.d
@@ -1,6 +1,6 @@
#source: pr23494b.s
#PROG: objcopy
-#as: --x32
+#as: --x32 -mx86-used-note=no
#objcopy: -O elf64-x86-64
#readelf: -n
#not-target: x86_64-*-nacl*
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494c.d b/binutils/testsuite/binutils-all/x86-64/pr23494c.d
index e98b2ae201..8ff87e2a05 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494c.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494c.d
@@ -1,6 +1,6 @@
#source: pr23494b.s
#PROG: objcopy
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=no
#objcopy: -O elf32-x86-64
#readelf: -n
#not-target: x86_64-*-nacl*
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494d-x32.d b/binutils/testsuite/binutils-all/x86-64/pr23494d-x32.d
index b0af2d9908..5f42bd593b 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494d-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494d-x32.d
@@ -1,12 +1,13 @@
#PROG: objcopy
#source: pr23494a.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64 --decompress-debug-sections
#readelf: -n
#not-target: x86_64-*-nacl*

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE4_1, AVX
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494d.d b/binutils/testsuite/binutils-all/x86-64/pr23494d.d
index 1731c03a92..8190327859 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494d.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494d.d
@@ -1,12 +1,13 @@
#PROG: objcopy
#source: pr23494a.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64 --decompress-debug-sections
#readelf: -n
#not-target: x86_64-*-nacl*

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE4_1, AVX
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494e-x32.d b/binutils/testsuite/binutils-all/x86-64/pr23494e-x32.d
index 4adfb4aa3b..63cd9f0d6c 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494e-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494e-x32.d
@@ -1,13 +1,14 @@
#PROG: objcopy
#source: pr23494c.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#objcopy: -O elf64-x86-64 --decompress-debug-sections
#readelf: -n
#not-target: x86_64-*-nacl*

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000040 NT_GNU_PROPERTY_TYPE_0
Properties: stack size: 0xffffffff
x86 ISA needed: SSE4_1, AVX
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/pr23494e.d b/binutils/testsuite/binutils-all/x86-64/pr23494e.d
index d9b05388bb..e60f2626c1 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr23494e.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr23494e.d
@@ -1,13 +1,14 @@
#PROG: objcopy
#source: pr23494c.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy: -O elf32-x86-64 --decompress-debug-sections
#readelf: -n
#not-target: x86_64-*-nacl*

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: stack size: 0xffffffff
x86 ISA needed: SSE4_1, AVX
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/shstk-x32.d b/binutils/testsuite/binutils-all/x86-64/shstk-x32.d
index 1dfc4fd0c8..7fc5eac175 100644
--- a/binutils/testsuite/binutils-all/x86-64/shstk-x32.d
+++ b/binutils/testsuite/binutils-all/x86-64/shstk-x32.d
@@ -1,6 +1,6 @@
#source: shstk.s
#PROG: objcopy
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -8,3 +8,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/binutils/testsuite/binutils-all/x86-64/shstk.d b/binutils/testsuite/binutils-all/x86-64/shstk.d
index 1f131b8c66..0995d28243 100644
--- a/binutils/testsuite/binutils-all/x86-64/shstk.d
+++ b/binutils/testsuite/binutils-all/x86-64/shstk.d
@@ -1,5 +1,5 @@
#PROG: objcopy
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#objcopy:
#readelf: -n

@@ -7,3 +7,6 @@ Displaying notes found in: .note.gnu.property
Owner Data size Description
GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0
+ Properties: x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/gas/testsuite/gas/i386/bss.d b/gas/testsuite/gas/i386/bss.d
index ba7493032c..cf52814076 100644
--- a/gas/testsuite/gas/i386/bss.d
+++ b/gas/testsuite/gas/i386/bss.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#objdump: -s
#name: i386 .bss

diff --git a/gas/testsuite/gas/i386/divide.d b/gas/testsuite/gas/i386/divide.d
index 1087426465..ba5970997c 100644
--- a/gas/testsuite/gas/i386/divide.d
+++ b/gas/testsuite/gas/i386/divide.d
@@ -7,3 +7,4 @@
Contents of section .*
0000 01000000 02000000 03000000 04000000 .*
0010 05000000 .*
+#pass
diff --git a/gas/testsuite/gas/i386/ilp32/quad.d b/gas/testsuite/gas/i386/ilp32/quad.d
index f337baec75..94f7b5ae4b 100644
--- a/gas/testsuite/gas/i386/ilp32/quad.d
+++ b/gas/testsuite/gas/i386/ilp32/quad.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#objdump: -sr
#name: x86-64 (ILP32) quad

diff --git a/gas/testsuite/gas/i386/ilp32/reloc64.d b/gas/testsuite/gas/i386/ilp32/reloc64.d
index f6bc628448..5865ab0ae1 100644
--- a/gas/testsuite/gas/i386/ilp32/reloc64.d
+++ b/gas/testsuite/gas/i386/ilp32/reloc64.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#objdump: -Drw
#name: x86-64 (ILP32) relocs

diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-size-1.d b/gas/testsuite/gas/i386/ilp32/x86-64-size-1.d
index 0b956d90b6..874debb17e 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-size-1.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-size-1.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: x32 size 1
#source: ../size-1.s
#readelf: -r
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-size-3.d b/gas/testsuite/gas/i386/ilp32/x86-64-size-3.d
index a1169d6fe6..7008e5a187 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-size-3.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-size-3.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: x32 size 3
#source: ../size-3.s
#readelf: -r
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-size-5.d b/gas/testsuite/gas/i386/ilp32/x86-64-size-5.d
index f4eb0d6949..c47d1df824 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-size-5.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-size-5.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: x32 size 5
#source: ../x86-64-size-5.s
#readelf: -r
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d b/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d
index 5dc74d6cab..8fa6c3791b 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-unwind.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#source: ../x86-64-unwind.s
#readelf: -S
#name: x86-64 (ILP32) unwind
diff --git a/gas/testsuite/gas/i386/property-1.d b/gas/testsuite/gas/i386/property-1.d
index 3a4530bc5d..5a9bec7219 100644
--- a/gas/testsuite/gas/i386/property-1.d
+++ b/gas/testsuite/gas/i386/property-1.d
@@ -1,4 +1,5 @@
#name: i386 property 1
+#as: -mx86-used-note=no
#readelf: -n

Displaying notes found in: .note.gnu.property
diff --git a/gas/testsuite/gas/i386/relax.d b/gas/testsuite/gas/i386/relax.d
index 7eb5cec255..83b7d894cd 100644
--- a/gas/testsuite/gas/i386/relax.d
+++ b/gas/testsuite/gas/i386/relax.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: i386 relax
#objdump: -s

diff --git a/gas/testsuite/gas/i386/reloc64.d b/gas/testsuite/gas/i386/reloc64.d
index 4cf884dc7b..59e02b4800 100644
--- a/gas/testsuite/gas/i386/reloc64.d
+++ b/gas/testsuite/gas/i386/reloc64.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#objdump: -Drw
#name: x86-64 relocs

diff --git a/gas/testsuite/gas/i386/size-1.d b/gas/testsuite/gas/i386/size-1.d
index ba45fa7ff3..3eb5a7ffb5 100644
--- a/gas/testsuite/gas/i386/size-1.d
+++ b/gas/testsuite/gas/i386/size-1.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: i386 size 1
#readelf: -r

diff --git a/gas/testsuite/gas/i386/size-3.d b/gas/testsuite/gas/i386/size-3.d
index 042bfe7d88..d79db27b41 100644
--- a/gas/testsuite/gas/i386/size-3.d
+++ b/gas/testsuite/gas/i386/size-3.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: i386 size 3
#readelf: -r

diff --git a/gas/testsuite/gas/i386/x86-64-property-1.d b/gas/testsuite/gas/i386/x86-64-property-1.d
index 5fc1c858b3..966793ea9d 100644
--- a/gas/testsuite/gas/i386/x86-64-property-1.d
+++ b/gas/testsuite/gas/i386/x86-64-property-1.d
@@ -1,6 +1,6 @@
#name: x86-64 property 1
#source: property-1.s
-#as: -defsym __64_bit__=1
+#as: -mx86-used-note=no -defsym __64_bit__=1
#readelf: -n

Displaying notes found in: .note.gnu.property
diff --git a/gas/testsuite/gas/i386/x86-64-size-1.d b/gas/testsuite/gas/i386/x86-64-size-1.d
index d615bd3eaa..0eb3e5062a 100644
--- a/gas/testsuite/gas/i386/x86-64-size-1.d
+++ b/gas/testsuite/gas/i386/x86-64-size-1.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: x86-64 size 1
#source: size-1.s
#readelf: -r
diff --git a/gas/testsuite/gas/i386/x86-64-size-3.d b/gas/testsuite/gas/i386/x86-64-size-3.d
index c28d69523b..16e0936d69 100644
--- a/gas/testsuite/gas/i386/x86-64-size-3.d
+++ b/gas/testsuite/gas/i386/x86-64-size-3.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: x86-64 size 3
#source: size-3.s
#readelf: -r
diff --git a/gas/testsuite/gas/i386/x86-64-size-5.d b/gas/testsuite/gas/i386/x86-64-size-5.d
index 791fb5689f..c1e7fcf4ee 100644
--- a/gas/testsuite/gas/i386/x86-64-size-5.d
+++ b/gas/testsuite/gas/i386/x86-64-size-5.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#name: x86-64 size 5
#readelf: -r

diff --git a/gas/testsuite/gas/i386/x86-64-unwind.d b/gas/testsuite/gas/i386/x86-64-unwind.d
index 89f1a65d07..93b84a88f1 100644
--- a/gas/testsuite/gas/i386/x86-64-unwind.d
+++ b/gas/testsuite/gas/i386/x86-64-unwind.d
@@ -1,3 +1,4 @@
+#as: -mx86-used-note=no
#readelf: -S
#name: x86-64 unwind

diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index 8a5bdf0cfe..703c327ce1 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -19,6 +19,13 @@
# MA 02110-1301, USA.
#

+global ASFLAGS
+set saved_ASFLAGS "$ASFLAGS"
+if { [is_elf_format] \
+ && ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"]) } {
+ set ASFLAGS "$ASFLAGS -mx86-used-note=no"
+}
+
# Test i386 linking; all types of relocs. This tests the assembler and
# tools like objdump as well as the linker.

@@ -213,25 +220,29 @@ set i386tests {
"--32" {tlsie1.s}
{{objdump -dwr tlsie1.dd}} "tlsie1"}
{"PR ld/17313 (1)" "-melf_i386" ""
- "--32" {zero.s} {} ""}
+ "--32 -mx86-used-note=yes" {zero.s} {} ""}
{"PR ld/17313 (2)" "-melf_i386 -shared --just-symbols=tmpdir/zero.o" ""
- "--32" {lea1.s} {} "libpr17313.so"}
+ "--32 -mx86-used-note=yes" {lea1.s} {} "libpr17313.so"}
{"PR ld/17306 (1)" "-melf_i386" ""
- "--32" {pr17306b.s} {} ""}
+ "--32 -mx86-used-note=yes" {pr17306b.s} {} ""}
{"PR ld/17306 (2)" "-melf_i386 -shared -Bsymbolic --just-symbols=tmpdir/pr17306b.o" ""
- "--32" {pr17306a.s} {} "libpr17306.so"}
+ "--32 -mx86-used-note=yes" {pr17306a.s} {} "libpr17306.so"}
{"PR ld/17709 (1)" "-melf_i386 -shared" ""
- "--32" {pr17709a.s} {} "libpr17709.so"}
+ "--32 -mx86-used-note=yes" {pr17709a.s} {} "libpr17709.so"}
{"PR ld/17709 (2)" "-melf_i386 tmpdir/libpr17709.so" ""
- "--32" {pr17709b.s} {{readelf -r pr17709.rd}} "pr17709"}
+ "--32 -mx86-used-note=yes"
+ {pr17709b.s} {{readelf -r pr17709.rd}} "pr17709"}
{"Build pr19827a.o" "" ""
- "--32" { pr19827a.S }}
+ "--32 -mx86-used-note=yes" { pr19827a.S }}
{"Build pr19827b.so" "-melf_i386 -shared" ""
- "--32" { pr19827b.S } {} "pr19827b.so"}
+ "--32 -mx86-used-note=yes"
+ { pr19827b.S } {} "pr19827b.so"}
{"Build pr19827" "-melf_i386 -pie tmpdir/pr19827a.o tmpdir/pr19827b.so" ""
- "--32" { dummy.s } {{readelf {-rW} pr19827.rd}} "pr19827"}
+ "--32 -mx86-used-note=yes"
+ { dummy.s } {{readelf {-rW} pr19827.rd}} "pr19827"}
{"Build pr19827.so" "-melf_i386 -shared -Bsymbolic" ""
- "--32" { pr19827a.S } {{readelf {-rW} pr19827.rd}} "pr19827.so"}
+ "--32 -mx86-used-note=yes"
+ { pr19827a.S } {{readelf {-rW} pr19827.rd}} "pr19827.so"}
}

# So as to avoid rewriting every last test case here in a nacl variant,
@@ -475,6 +486,7 @@ if { !([istarget "i?86-*-linux*"]
|| [istarget "i?86-*-nacl*"]
|| [istarget "x86_64-*-nacl*"]
|| [istarget "x86_64-*-linux*"]) } {
+ set ASFLAGS "$saved_ASFLAGS"
return
}

@@ -508,7 +520,7 @@ proc undefined_weak {cflags ldflags} {
[list \
"Build libpr19704a.so" \
"-shared -Wl,-soname,libpr19704.so" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.s } \
{} \
"libpr19704a.so" \
@@ -516,7 +528,7 @@ proc undefined_weak {cflags ldflags} {
[list \
"Build libpr19704b.so" \
"-shared -Wl,-soname,libpr19704.so" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ pr19704b.c } \
{} \
"libpr19704b.so" \
@@ -529,7 +541,7 @@ proc undefined_weak {cflags ldflags} {
[list \
"Run pr19704" \
"$ldflags tmpdir/libpr19704.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ pr19704a.c } \
"pr19704" \
"pr19704.out" \
@@ -558,7 +570,7 @@ if { [isnative]
[list \
"Build plt-lib.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ plt-lib.c } \
{} \
"libplt-lib.so" \
@@ -566,7 +578,7 @@ if { [isnative]
[list \
"Build libplt-main1.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes" \
{ plt-main1.c } \
{{readelf {-Wr} plt-main1.rd}} \
"libplt-main1.a" \
@@ -574,7 +586,7 @@ if { [isnative]
[list \
"Build libplt-main2.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes" \
{ plt-main2.c } \
{{readelf {-Wr} plt-main2.rd}} \
"libplt-main2.a" \
@@ -582,7 +594,7 @@ if { [isnative]
[list \
"Build libplt-main3.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes $PLT_CFLAGS" \
{ plt-main3.c } \
{{readelf {-Wr} plt-main3.rd}} \
"libplt-main3.a" \
@@ -590,7 +602,7 @@ if { [isnative]
[list \
"Build libplt-main4.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mrelax-relocations=yes $PLT_CFLAGS" \
{ plt-main4.c } \
{{readelf {-Wr} plt-main4.rd}} \
"libplt-main4.a" \
@@ -599,7 +611,7 @@ if { [isnative]
"Build plt-main" \
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ plt-main5.c } \
{{readelf {-Wr} plt-main.rd}} \
"plt-main" \
@@ -608,7 +620,7 @@ if { [isnative]
"Build plt-main with PIE" \
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ plt-main5.c } \
{{readelf {-Wr} plt-main.rd}} \
"plt-main" \
@@ -616,7 +628,7 @@ if { [isnative]
[list \
"Build copyreloc-lib.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ copyreloc-lib.c } \
{} \
"copyreloc-lib.so" \
@@ -624,7 +636,7 @@ if { [isnative]
[list \
"Build libcopyreloc-main.a" \
"" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ copyreloc-main.S } \
{} \
"libcopyreloc-main.a" \
@@ -632,7 +644,7 @@ if { [isnative]
[list \
"Build copyreloc-main with PIE and GOTOFF (1)" \
"tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.s } \
{{readelf {-Wr} copyreloc-main1.rd}} \
"copyreloc-main" \
@@ -640,7 +652,7 @@ if { [isnative]
[list \
"Build copyreloc-main with PIE and GOTOFF (2)" \
"tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.s } \
{{readelf {-Wr} copyreloc-main2.rd}} \
"copyreloc-main" \
@@ -648,7 +660,7 @@ if { [isnative]
[list \
"Build pr17689.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ pr17689a.c } \
{} \
"pr17689.so" \
@@ -656,7 +668,7 @@ if { [isnative]
[list \
"Build pr17689.so with -z now" \
"-shared -Wl,-z,now" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ pr17689a.c } \
{{readelf {-Wr} pr17689now.rd}} \
"pr17689now.so" \
@@ -664,7 +676,7 @@ if { [isnative]
[list \
"Build pr17689ver.so" \
"-shared -Wl,--version-script,pr17689a.t" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ pr17689a.c } \
{} \
"pr17689ver.so" \
@@ -672,7 +684,7 @@ if { [isnative]
[list \
"Build pr17689.a" \
"" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ pr17689b.S } \
{} \
"pr17689.a" \
@@ -680,7 +692,7 @@ if { [isnative]
[list \
"Build pr17689 with PIE and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.c } \
{{readelf {-Wr} pr17689.rd}} \
"pr17689" \
@@ -688,7 +700,7 @@ if { [isnative]
[list \
"Build pr17689 with PIE, -z now and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.c } \
{{readelf {-Wr} pr17689now.rd}} \
"pr17689now" \
@@ -696,7 +708,7 @@ if { [isnative]
[list \
"Build pr17689ver with PIE and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689ver.so -pie" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.c } \
{{readelf {-Wr} pr17689ver.rd}} \
"pr17689ver" \
@@ -704,7 +716,7 @@ if { [isnative]
[list \
"Build pr17827 with PIE and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.c } \
{{readelf {-Wr} pr17827.rd}} \
"pr17827" \
@@ -712,7 +724,7 @@ if { [isnative]
[list \
"Build pr18900.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ pr18900a.c } \
"" \
"pr18900.so" \
@@ -720,7 +732,7 @@ if { [isnative]
[list \
"Build pr18900.o" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ pr18900b.c pr18900c.c } \
"" \
"pr18900.o" \
@@ -728,7 +740,7 @@ if { [isnative]
[list \
"Build pr18900a" \
"tmpdir/pr18900.o tmpdir/pr18900.so" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.s } \
{{readelf {-Wrd} pr18900a.rd}} \
"pr18900a" \
@@ -736,7 +748,7 @@ if { [isnative]
[list \
"Build pr18900b" \
"-Wl,--as-needed tmpdir/pr18900.o tmpdir/pr18900.so" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ dummy.s } \
{{readelf {-Wrd} pr18900b.rd}} \
"pr18900b" \
@@ -744,7 +756,7 @@ if { [isnative]
[list \
"Build pr19031.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mrelax-relocations=yes" \
{ pr19031a.c } \
"" \
"pr19031.so" \
@@ -752,7 +764,7 @@ if { [isnative]
[list \
"Build got1d.so" \
"-shared" \
- "" \
+ "-Wa,-mrelax-relocations=yes" \
{ got1d.S } \
"" \
"got1d.so" \
@@ -768,7 +780,7 @@ if { [isnative]
[list \
"Build gotpc1" \
"$NOPIE_LDFLAGS -Wl,--as-needed tmpdir/gotpc1.o tmpdir/got1d.so" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{ dummy.s } \
{{objdump {-dw} got1.dd}} \
"got1" \
@@ -776,7 +788,7 @@ if { [isnative]
[list \
"Build pr19319.so" \
"-shared" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{ pr19319a.S } \
"" \
"pr19319.so" \
@@ -792,7 +804,7 @@ if { [isnative]
[list \
"Build property 1" \
"" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-no-copy.S} \
{{readelf {-n} property-1.r}} \
"property-1" \
@@ -800,15 +812,15 @@ if { [isnative]
[list \
"Build property 1 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
- {{readelf {-n} property-1.r}} \
+ {{readelf {-n} property-1a.r}} \
"property-1.o" \
] \
[list \
"Build property 1 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=no" \
{pass.c property-no-copy.S} \
{{readelf {-n} property-1.r}} \
"property-1.so" \
@@ -816,7 +828,7 @@ if { [isnative]
[list \
"Build property 2" \
"" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-stack.S} \
{{readelf {-n} property-2.r}} \
"property-2" \
@@ -824,15 +836,15 @@ if { [isnative]
[list \
"Build property 2 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
- {{readelf {-n} property-2.r}} \
+ {{readelf {-n} property-2a.r}} \
"property-2.o" \
] \
[list \
"Build property 2 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=no" \
{pass.c property-stack.S} \
{{readelf {-n} property-2.r}} \
"property-2.so" \
@@ -840,7 +852,7 @@ if { [isnative]
[list \
"Build property 3" \
"" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-stack.S property-x86-1.S} \
{{readelf {-n} property-3.r}} \
"property-3" \
@@ -848,15 +860,15 @@ if { [isnative]
[list \
"Build property 3 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-1.S property-stack.S} \
- {{readelf {-n} property-3.r}} \
+ {{readelf {-n} property-3a.r}} \
"property-3.o" \
] \
[list \
"Build property 3 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=no" \
{property-x86-1.S pass.c property-stack.S} \
{{readelf {-n} property-3.r}} \
"property-3.so" \
@@ -864,7 +876,7 @@ if { [isnative]
[list \
"Build property 4" \
"" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
{{readelf {-n} property-4.r}} \
"property-4" \
@@ -872,15 +884,15 @@ if { [isnative]
[list \
"Build property 4 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
- {{readelf {-n} property-4.r}} \
+ {{readelf {-n} property-4a.r}} \
"property-4.o" \
] \
[list \
"Build property 4 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=no" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
{{readelf {-n} property-4.r}} \
"property-4.so" \
@@ -888,7 +900,7 @@ if { [isnative]
[list \
"Build property 4 (-Wl,-z,stack-size=0)" \
"-Wl,-z,stack-size=0" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
{{readelf {-n} property-4.r}} \
"property-4" \
@@ -896,7 +908,7 @@ if { [isnative]
[list \
"Build property 5" \
"-Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
{{readelf {-n} property-5.r}} \
"property-5" \
@@ -904,15 +916,15 @@ if { [isnative]
[list \
"Build property 5 (.o)" \
"-r -nostdlib -Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
- {{readelf {-n} property-5.r}} \
+ {{readelf {-n} property-5a.r}} \
"property-5.o" \
] \
[list \
"Build property 5 (.so)" \
"-shared -Wl,-z,stack-size=0x900000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=no" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
{{readelf {-n} property-5.r}} \
"property-5.so" \
@@ -920,7 +932,7 @@ if { [isnative]
[list \
"Build property-6.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=no" \
{property-6a.c property-6c.S} \
{{readelf {-n} property-6.r}} \
"property-6.so" \
@@ -928,33 +940,33 @@ if { [isnative]
[list \
"Build property-6.o" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-6b.c property-stack.S} \
- {{readelf {-n} property-2.r}} \
+ {{readelf {-n} property-2a.r}} \
"property-6.o" \
] \
[list \
"Build property-6" \
"-Wl,--as-needed tmpdir/property-6.o tmpdir/property-6.so" \
+ "-Wa,-mx86-used-note=no" \
{ dummy.s } \
- "" \
{{readelf {-n} property-2.r}} \
"property-6" \
] \
[list \
"Build property 7a (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-unsorted-1.S} \
- {{readelf {-n} property-7.r}} \
+ {{readelf {-n} property-7a.r}} \
"property-7a.o" \
] \
[list \
"Build property 7b (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-unsorted-2.S} \
- {{readelf {-n} property-7.r}} \
+ {{readelf {-n} property-7a.r}} \
"property-7b.o" \
] \
]
@@ -964,7 +976,7 @@ if { [isnative]
"Run plt-main" \
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main" \
"plt-main.out" \
@@ -973,7 +985,7 @@ if { [isnative]
"Run plt-main with PIE" \
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-pie" \
"plt-main.out" \
@@ -982,7 +994,7 @@ if { [isnative]
[list \
"Run copyreloc-main with PIE and GOTOFF" \
"-Wl,--as-needed tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"copyreloc-main" \
"copyreloc-main.out" \
@@ -990,7 +1002,7 @@ if { [isnative]
[list \
"Run pr17689 with PIE and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"pr17689" \
"pr17689.out" \
@@ -998,7 +1010,7 @@ if { [isnative]
[list \
"Run pr17689 with PIE, -z now and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689.so -pie -z now" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"pr17689now" \
"pr17689.out" \
@@ -1006,7 +1018,7 @@ if { [isnative]
[list \
"Run pr17689ver with PIE and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689ver.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"pr17689ver" \
"pr17689.out" \
@@ -1014,7 +1026,7 @@ if { [isnative]
[list \
"Run pr18900" \
"tmpdir/pr18900.o tmpdir/pr18900.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr18900" \
"pr18900.out" \
@@ -1022,7 +1034,7 @@ if { [isnative]
[list \
"Run pr19031" \
"$NOPIE_LDFLAGS tmpdir/pr19031.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr19031b.S pr19031c.c } \
"pr19031" \
"pr19031.out" \
@@ -1031,7 +1043,7 @@ if { [isnative]
[list \
"Run got1" \
"$NOPIE_LDFLAGS tmpdir/got1d.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ got1a.S got1b.c got1c.c } \
"got1" \
"got1.out" \
@@ -1039,105 +1051,105 @@ if { [isnative]
[list \
"Run property 1" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
"property-1" "pass.out" \
] \
[list \
"Run property 1 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
"property-1-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 1 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
"property-1-static" "pass.out" \
] \
[list \
"Run property 2" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
"property-2" "pass.out" \
] \
[list \
"Run property 2 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
"property-2-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 2 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
"property-3-static" "pass.out" \
] \
[list \
"Run property 3" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S} \
"property-3" "pass.out" \
] \
[list \
"Run property 3 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-1.S property-stack.S} \
"property-3-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 3 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-x86-1.S pass.c property-stack.S} \
"property-3-static" "pass.out" \
] \
[list \
"Run property 4" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
"property-4" "pass.out" \
] \
[list \
"Run property 4 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
"property-4-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 4 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
"property-4-static" "pass.out" \
] \
[list \
"Run property 5" \
"-Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
"property-5" "pass.out" \
] \
[list \
"Run property 5 (PIE)" \
"-pie -Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
"property-5-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 5 (static)" \
"-static -Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
"property-5-static" "pass.out" \
] \
@@ -1161,19 +1173,19 @@ if { [isnative]
[list \
"Build ifunc-1a.o ifunc-1b.o ifunc-1c.o ifunc-1d.o" \
"" \
- "-fPIC -O2 -g" \
+ "-fPIC -O2 -g -Wa,-mx86-used-note=yes" \
{ ifunc-1a.c ifunc-1b.S ifunc-1c.S ifunc-1d.S } \
] \
[list \
"Build pr21168a.o" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21168a.c } \
] \
[list \
"Build pr21168.so" \
"-shared" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21168b.S } \
"" \
"pr21168.so" \
@@ -1185,7 +1197,7 @@ if { [isnative]
"Run ifunc-1a" \
"tmpdir/ifunc-1a.o tmpdir/ifunc-1b.o \
tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"ifunc-1a" \
"pass.out" \
@@ -1194,7 +1206,7 @@ if { [isnative]
"Run ifunc-1b" \
"--static tmpdir/ifunc-1a.o tmpdir/ifunc-1b.o \
tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"ifunc-1b" \
"pass.out" \
@@ -1202,7 +1214,7 @@ if { [isnative]
[list \
"Run pr21168" \
"tmpdir/pr21168a.o tmpdir/pr21168.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"pr21168" \
"pass.out" \
@@ -1214,7 +1226,7 @@ if { [isnative]
[list \
"Build pr21168.so with -z ibtplt" \
"-shared -Wl,-z,ibtplt" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21168b.S } \
"" \
"pr21168-ibt.so" \
@@ -1223,7 +1235,7 @@ if { [isnative]
"Build ifunc-1a with -z ibtplt" \
"-Wl,-z,ibtplt $NOPIE_LDFLAGS tmpdir/ifunc-1a.o \
tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
{{objdump {-dw} plt-main-ibt.dd}} \
"ifunc-1a-ibt" \
@@ -1232,7 +1244,7 @@ if { [isnative]
"Build ifunc-1a with PIE -z ibtplt" \
"-Wl,-z,ibtplt -pie tmpdir/ifunc-1a.o \
tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
{{objdump {-dw} plt-pie-ibt.dd}} \
"ifunc-1a-pie-ibt" \
@@ -1244,7 +1256,7 @@ if { [isnative]
"Run ifunc-1a with -z ibtplt" \
"-Wl,-z,ibtplt $NOPIE_LDFLAGS tmpdir/ifunc-1a.o \
tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"ifunc-1a-ibt" \
"pass.out" \
@@ -1253,7 +1265,7 @@ if { [isnative]
"Run ifunc-1a with PIE -z ibtplt" \
"-Wl,-z,ibtplt -pie tmpdir/ifunc-1a.o \
tmpdir/ifunc-1b.o tmpdir/ifunc-1c.o tmpdir/ifunc-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"ifunc-1a-pie-ibt" \
"pass.out" \
@@ -1261,7 +1273,7 @@ if { [isnative]
[list \
"Run pr21168 with -z ibtplt" \
"tmpdir/pr21168a.o tmpdir/pr21168-ibt.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"pr21168-ibt" \
"pass.out" \
@@ -1278,7 +1290,7 @@ if { [isnative]
[list \
"Build pr22001-1.so" \
"-shared" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1a.c } \
{} \
"pr22001-1.so" \
@@ -1286,7 +1298,7 @@ if { [isnative]
[list \
"Build pr21997-1.so" \
"-shared" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ property-stack.S property-no-copy.S pr21997-1a.S } \
{} \
"pr21997-1.so" \
@@ -1294,7 +1306,7 @@ if { [isnative]
[list \
"Build pr22842.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr22842a.c } \
{} \
"pr22842.so" \
@@ -1305,7 +1317,7 @@ if { [isnative]
[list \
"Run weakundef1 without PIE" \
"$NOPIE_LDFLAGS" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ weakundef1.c } \
"weakundef1pie" \
"pass.out" \
@@ -1314,7 +1326,7 @@ if { [isnative]
[list \
"Run pr22001-1" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1b.c } \
"pr22001-1" \
"pass.out" \
@@ -1323,7 +1335,7 @@ if { [isnative]
[list \
"Run pr22001-1 (PIE 1)" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1c.S } \
"pr22001-1-pie-1" \
"pass.out" \
@@ -1331,7 +1343,7 @@ if { [isnative]
[list \
"Run pr22001-1 (PIE 2)" \
"-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1c.S } \
"pr22001-1-pie-2" \
"pass.out" \
@@ -1339,7 +1351,7 @@ if { [isnative]
[list \
"Run pr22001-1 (PIC 1)" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1b.c } \
"pr22001-1-pic-1" \
"pass.out" \
@@ -1348,7 +1360,7 @@ if { [isnative]
[list \
"Run pr22001-1 (PIC 2)" \
"-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1b.c } \
"pr22001-1-pic-2" \
"pass.out" \
@@ -1357,7 +1369,7 @@ if { [isnative]
[list \
"Run pr21997-1" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1b.c } \
"pr21997-1" \
"pass.out" \
@@ -1366,7 +1378,7 @@ if { [isnative]
[list \
"Run pr21997-1 (PIC 1)" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1b.c } \
"pr21997-1-pic-1" \
"pass.out" \
@@ -1375,7 +1387,7 @@ if { [isnative]
[list \
"Run pr21997-1 (PIC 2)" \
"-pie -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1b.c } \
"pr21997-1-pic-2" \
"pass.out" \
@@ -1384,7 +1396,7 @@ if { [isnative]
[list \
"Run pr21997-1 (PIE 1)" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1c.S } \
"pr21997-1-pie-1" \
"pass.out" \
@@ -1392,7 +1404,7 @@ if { [isnative]
[list \
"Run pr21997-1 (PIE 2)" \
"-pie -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1c.S } \
"pr21997-1-pie-2" \
"pass.out" \
@@ -1400,7 +1412,7 @@ if { [isnative]
[list \
"Build pr22842" \
"-pie -Wl,--no-as-needed tmpdir/pr22842.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22842b.S } \
"pr22842" \
"pass.out" \
@@ -1412,7 +1424,7 @@ if { [isnative]
[list \
"Run weakundef1 with PIE" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ weakundef1.c } \
"weakundef1pie" \
"pass.out" \
@@ -1424,6 +1436,7 @@ if { [isnative]

if { !([istarget "i?86-*-linux*"]
|| [istarget "x86_64-*-linux*"]) } {
+ set ASFLAGS "$saved_ASFLAGS"
return
}

@@ -1442,7 +1455,7 @@ run_ld_link_tests [list \
"basic PLT generation (PIC, -z now)" \
"-z now -shared -melf_i386 tmpdir/libpltlib.so" \
"" \
- "--32" \
+ "--32 -mx86-used-note=yes" \
{plt-pic.s} \
{{objdump -dwr plt-pic2.dd}} \
"plt-pic2.so" \
@@ -1451,7 +1464,7 @@ run_ld_link_tests [list \
"Build pr21626.so" \
"-shared -melf_i386" \
"" \
- "--32" \
+ "--32 -mx86-used-note=yes" \
{property-x86-3.s} \
"" \
"pr21626.so" \
@@ -1460,7 +1473,7 @@ run_ld_link_tests [list \
"Build pr21626" \
"-melf_i386 tmpdir/pr21626.so" \
"" \
- "--32" \
+ "--32 -mx86-used-note=yes" \
{start.s foo.s} \
"" \
"pr21626" \
@@ -1480,3 +1493,5 @@ run_dump_test "ibt-plt-3a"
run_dump_test "ibt-plt-3b"
run_dump_test "ibt-plt-3c"
run_dump_test "ibt-plt-3d"
+
+set ASFLAGS "$saved_ASFLAGS"
diff --git a/ld/testsuite/ld-i386/no-plt.exp b/ld/testsuite/ld-i386/no-plt.exp
index 08584a80ad..c9f36c539c 100644
--- a/ld/testsuite/ld-i386/no-plt.exp
+++ b/ld/testsuite/ld-i386/no-plt.exp
@@ -46,21 +46,21 @@ run_cc_link_tests [list \
[list \
"Build no-plt-func1.o no-plt-main1.o" \
"" \
- "-fPIE" \
+ "-fPIE -Wa,-mx86-used-note=yes" \
{no-plt-func1.c no-plt-main1.c} \
] \
[list \
"Build no-plt-check1a.o no-plt-extern1a.o \
no-plt-check1b.o no-plt-extern1b.o" \
"" \
- "-Wa,-mrelax-relocations=yes" \
+ "-Wa,-mrelax-relocations=yes,-mx86-used-note=yes" \
{no-plt-check1a.S no-plt-extern1a.S \
no-plt-check1b.S no-plt-extern1b.S } \
] \
[list \
"Build libno-plt-1a.so" \
"-shared tmpdir/no-plt-func1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libno-plt-1a.so" \
@@ -68,7 +68,7 @@ run_cc_link_tests [list \
[list \
"Build libno-plt-1b.so" \
"-shared tmpdir/no-plt-extern1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr libno-plt-1b.rd} \
{objdump -dwrj.text libno-plt-1b.dd}} \
@@ -78,7 +78,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1a)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1a.rd} {objdump -dwrj.text no-plt-1a.dd}} \
"no-plt-1a" \
@@ -87,7 +87,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1b)" \
"tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1b.rd} {objdump -dwrj.text no-plt-1b.dd}} \
"no-plt-1b" \
@@ -96,7 +96,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1c)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1c.rd} {objdump -dwrj.text no-plt-1c.dd}} \
"no-plt-1c" \
@@ -105,7 +105,7 @@ run_cc_link_tests [list \
"No PLT (static 1d)" \
"-static tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1d.rd} {objdump -dwrj.text no-plt-1d.dd}} \
"no-plt-1d" \
@@ -114,7 +114,7 @@ run_cc_link_tests [list \
"No PLT (PIE 1e)" \
"-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1e.rd} {objdump -dwrj.text no-plt-1e.dd}} \
"no-plt-1e" \
@@ -123,7 +123,7 @@ run_cc_link_tests [list \
"No PLT (PIE 1f)" \
"-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf -Wr no-plt-1f.rd} {objdump -dwrj.text no-plt-1f.dd}} \
"no-plt-1f" \
@@ -132,7 +132,7 @@ run_cc_link_tests [list \
"No PLT (PIE 1g)" \
"-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf -Wr no-plt-1g.rd} {objdump -dwrj.text no-plt-1g.dd}} \
"no-plt-1g" \
@@ -141,7 +141,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1h)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1h.rd} {objdump -dwrj.text no-plt-1h.dd}} \
"no-plt-1h" \
@@ -150,7 +150,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1i)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-extern1b.o tmpdir/libno-plt-1a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1i.rd} {objdump -dwrj.text no-plt-1i.dd}} \
"no-plt-1i" \
@@ -159,7 +159,7 @@ run_cc_link_tests [list \
"No PLT (static 1j)" \
"-static tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1j.rd} {objdump -dwrj.text no-plt-1j.dd}} \
"no-plt-1j" \
@@ -171,7 +171,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1a)" \
"tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1a" \
"pass.out" \
@@ -180,7 +180,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1b)" \
"tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1b" \
"pass.out" \
@@ -189,7 +189,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1c)" \
"tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1c" \
"pass.out" \
@@ -198,7 +198,7 @@ run_ld_link_exec_tests [list \
"No PLT (static 1d)" \
"-static tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1d" \
"pass.out" \
@@ -207,7 +207,7 @@ run_ld_link_exec_tests [list \
"No PLT (PIE 1e)" \
"-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1e" \
"pass.out" \
@@ -216,7 +216,7 @@ run_ld_link_exec_tests [list \
"No PLT (PIE 1f)" \
"-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1f" \
"pass.out" \
@@ -225,7 +225,7 @@ run_ld_link_exec_tests [list \
"No PLT (PIE 1g)" \
"-pie tmpdir/no-plt-check1a.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1g" \
"pass.out" \
@@ -234,7 +234,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1h)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
"no-plt-1h" \
"pass.out" \
@@ -243,7 +243,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1i)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-extern1b.o tmpdir/libno-plt-1a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
"no-plt-1i" \
"pass.out" \
@@ -252,7 +252,7 @@ run_ld_link_exec_tests [list \
"No PLT (static 1j)" \
"-static tmpdir/no-plt-check1b.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1b.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
"no-plt-1j" \
"pass.out" \
@@ -265,27 +265,27 @@ if { [check_ifunc_available] } {
[list \
"Build pr20244-3a.o pr20244-3b.o pr20244-3c.o pr20244-3d.o" \
"" \
- "-fPIC -O2 -g" \
+ "-fPIC -O2 -g -Wa,-mx86-used-note=yes" \
{ pr20244-3a.c pr20244-3b.S pr20244-3c.S pr20244-3d.S } \
] \
[list \
"Build pr20253-1a.o pr20253-1b.o pr20253-1c.o pr20253-1d.o" \
"" \
- "-fPIE -O2 -g" \
+ "-fPIE -O2 -g -Wa,-mx86-used-note=yes" \
{ pr20253-1a.c pr20253-1b.S pr20253-1c.S pr20253-1d.S } \
] \
[list \
"Build libpr20253-1a.so" \
"-shared tmpdir/pr20253-1b.o \
tmpdir/pr20253-1c.o tmpdir/pr20253-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{} \
"libpr20253-1a.so" \
] \
[list \
"Build pr20253-2a.o pr20253-2b.o pr20253-2c.o pr20253-2d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
"-fPIE -O2 -g" \
{ pr20253-2a.c pr20253-2b.S pr20253-2c.S pr20253-2d.S } \
] \
@@ -296,7 +296,7 @@ if { [check_ifunc_available] } {
"Run pr20244-3a" \
"$NOPIE_LDFLAGS tmpdir/pr20244-3a.o tmpdir/pr20244-3b.o \
tmpdir/pr20244-3c.o tmpdir/pr20244-3d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"pr20244-3a" \
"pass.out" \
@@ -305,7 +305,7 @@ if { [check_ifunc_available] } {
"Run pr20244-3b" \
"--static tmpdir/pr20244-3a.o tmpdir/pr20244-3b.o \
tmpdir/pr20244-3c.o tmpdir/pr20244-3d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.c } \
"pr20244-3b" \
"pass.out" \
@@ -314,7 +314,7 @@ if { [check_ifunc_available] } {
"Run pr20253-1a" \
"tmpdir/pr20253-1a.o tmpdir/pr20253-1b.o \
tmpdir/pr20253-1c.o tmpdir/pr20253-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-1a" \
"pass.out" \
@@ -323,7 +323,7 @@ if { [check_ifunc_available] } {
"Run pr20253-1b" \
"--static tmpdir/pr20253-1a.o tmpdir/pr20253-1b.o \
tmpdir/pr20253-1c.o tmpdir/pr20253-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-1b" \
"pass.out" \
@@ -332,7 +332,7 @@ if { [check_ifunc_available] } {
"Run pr20253-1c" \
"-pie tmpdir/pr20253-1a.o tmpdir/pr20253-1b.o \
tmpdir/pr20253-1c.o tmpdir/pr20253-1d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-1c" \
"pass.out" \
@@ -340,7 +340,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-1d" \
"tmpdir/pr20253-1a.o tmpdir/libpr20253-1a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-1d" \
"pass.out" \
@@ -348,7 +348,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-1e" \
"-pie tmpdir/pr20253-1a.o tmpdir/libpr20253-1a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-1e" \
"pass.out" \
@@ -356,7 +356,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-1f" \
"$NOPIE_LDFLAGS tmpdir/pr20253-1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr20253-1b.S pr20253-1c.S pr20253-1d.S } \
"pr20253-1f" \
"pass.out" \
@@ -365,7 +365,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-1g" \
"--static tmpdir/pr20253-1a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr20253-1b.S pr20253-1c.S pr20253-1d.S } \
"pr20253-1g" \
"pass.out" \
@@ -375,7 +375,7 @@ if { [check_ifunc_available] } {
"Run pr20253-2a" \
"$NOPIE_LDFLAGS tmpdir/pr20253-2a.o tmpdir/pr20253-2b.o \
tmpdir/pr20253-2c.o tmpdir/pr20253-2d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-2a" \
"pass.out" \
@@ -384,7 +384,7 @@ if { [check_ifunc_available] } {
"Run pr20253-2b" \
"--static tmpdir/pr20253-2a.o tmpdir/pr20253-2b.o \
tmpdir/pr20253-2c.o tmpdir/pr20253-2d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-2b" \
"pass.out" \
@@ -392,7 +392,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-2c" \
"$NOPIE_LDFLAGS tmpdir/pr20253-2a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr20253-2b.S pr20253-2c.S pr20253-2d.S } \
"pr20253-2c" \
"pass.out" \
@@ -401,7 +401,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-2d" \
"--static tmpdir/pr20253-2a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr20253-2b.S pr20253-2c.S pr20253-2d.S } \
"pr20253-2d" \
"pass.out" \
diff --git a/ld/testsuite/ld-i386/pr23486a.d b/ld/testsuite/ld-i386/pr23486a.d
index 41a6dcf7d5..2a47fca709 100644
--- a/ld/testsuite/ld-i386/pr23486a.d
+++ b/ld/testsuite/ld-i386/pr23486a.d
@@ -1,6 +1,6 @@
#source: ../ld-x86-64/pr23486a.s
#source: ../ld-x86-64/pr23486b.s
-#as: --32
+#as: --32 -mx86-used-note=no
#ld: -r -m elf_i386
#readelf: -n

diff --git a/ld/testsuite/ld-i386/pr23486b.d b/ld/testsuite/ld-i386/pr23486b.d
index 08019b7274..9b0b60ffe1 100644
--- a/ld/testsuite/ld-i386/pr23486b.d
+++ b/ld/testsuite/ld-i386/pr23486b.d
@@ -1,6 +1,6 @@
#source: ../ld-x86-64/pr23486b.s
#source: ../ld-x86-64/pr23486a.s
-#as: --32
+#as: --32 -mx86-used-note=no
#ld: -r -m elf_i386
#readelf: -n

diff --git a/ld/testsuite/ld-i386/property-1a.r b/ld/testsuite/ld-i386/property-1a.r
new file mode 100644
index 0000000000..aa08fc9cda
--- /dev/null
+++ b/ld/testsuite/ld-i386/property-1a.r
@@ -0,0 +1,9 @@
+#...
+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
+
+#pass
diff --git a/ld/testsuite/ld-i386/property-2a.r b/ld/testsuite/ld-i386/property-2a.r
new file mode 100644
index 0000000000..f6858d42a3
--- /dev/null
+++ b/ld/testsuite/ld-i386/property-2a.r
@@ -0,0 +1,9 @@
+#...
+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
+
+#pass
diff --git a/ld/testsuite/ld-i386/property-3a.r b/ld/testsuite/ld-i386/property-3a.r
new file mode 100644
index 0000000000..13a551edde
--- /dev/null
+++ b/ld/testsuite/ld-i386/property-3a.r
@@ -0,0 +1,9 @@
+#...
+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 feature used: x86
+#pass
diff --git a/ld/testsuite/ld-i386/property-4a.r b/ld/testsuite/ld-i386/property-4a.r
new file mode 100644
index 0000000000..46d1600cac
--- /dev/null
+++ b/ld/testsuite/ld-i386/property-4a.r
@@ -0,0 +1,9 @@
+#...
+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 feature used: x86
+#pass
diff --git a/ld/testsuite/ld-i386/property-5a.r b/ld/testsuite/ld-i386/property-5a.r
new file mode 100644
index 0000000000..23c8f44a4f
--- /dev/null
+++ b/ld/testsuite/ld-i386/property-5a.r
@@ -0,0 +1,9 @@
+#...
+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 feature used: x86
+#pass
diff --git a/ld/testsuite/ld-i386/property-7a.r b/ld/testsuite/ld-i386/property-7a.r
new file mode 100644
index 0000000000..7874269459
--- /dev/null
+++ b/ld/testsuite/ld-i386/property-7a.r
@@ -0,0 +1,8 @@
+#...
+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
+ no copy on protected
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-3.d b/ld/testsuite/ld-i386/property-x86-3.d
index 1cbd37a6ff..c58efea51e 100644
--- a/ld/testsuite/ld-i386/property-x86-3.d
+++ b/ld/testsuite/ld-i386/property-x86-3.d
@@ -1,9 +1,10 @@
-#as: --32
+#as: --32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
x86 ISA used: CMOV, SSE, SSSE3, SSE4_1
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-4a.d b/ld/testsuite/ld-i386/property-x86-4a.d
index 53c0b045e0..6d94b7360c 100644
--- a/ld/testsuite/ld-i386/property-x86-4a.d
+++ b/ld/testsuite/ld-i386/property-x86-4a.d
@@ -1,10 +1,13 @@
#source: property-x86-4a.s
#source: property-x86-4b.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -m elf_i386 --gc-sections --entry=main
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000008 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x0000002c NT_GNU_PROPERTY_TYPE_0
Properties: no copy on protected
+ x86 feature needed: x86
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-ibt1a.d b/ld/testsuite/ld-i386/property-x86-ibt1a.d
index 43b272f762..5350f74ca5 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt1a.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt1a.d
@@ -1,6 +1,11 @@
#source: property-x86-empty.s
#source: property-x86-ibt.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

+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
diff --git a/ld/testsuite/ld-i386/property-x86-ibt1b.d b/ld/testsuite/ld-i386/property-x86-ibt1b.d
index 83bf4117f6..d658c5dc89 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt1b.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt1b.d
@@ -1,6 +1,11 @@
#source: property-x86-ibt.s
#source: property-x86-empty.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

+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
diff --git a/ld/testsuite/ld-i386/property-x86-ibt2.d b/ld/testsuite/ld-i386/property-x86-ibt2.d
index fbdf4c17a8..8508fe7e1f 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt2.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt2.d
@@ -1,9 +1,11 @@
#source: property-x86-ibt.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-ibt3a.d b/ld/testsuite/ld-i386/property-x86-ibt3a.d
index b87bc27006..a129c8fe25 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt3a.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt3a.d
@@ -1,10 +1,12 @@
#source: property-x86-3.s
#source: property-x86-ibt.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
+ x86 ISA used: CMOV, SSE, SSSE3, SSE4_1
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-ibt3b.d b/ld/testsuite/ld-i386/property-x86-ibt3b.d
index f09ae520ab..d6711463c9 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt3b.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt3b.d
@@ -1,10 +1,12 @@
#source: property-x86-ibt.s
#source: property-x86-3.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
+ x86 ISA used: CMOV, SSE, SSSE3, SSE4_1
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-ibt4.d b/ld/testsuite/ld-i386/property-x86-ibt4.d
index db14fb9962..11cb046ba6 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt4.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt4.d
@@ -1,9 +1,11 @@
#source: property-x86-empty.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386 -z ibt
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-ibt5.d b/ld/testsuite/ld-i386/property-x86-ibt5.d
index 652f6604d0..6ba00e6021 100644
--- a/ld/testsuite/ld-i386/property-x86-ibt5.d
+++ b/ld/testsuite/ld-i386/property-x86-ibt5.d
@@ -1,9 +1,11 @@
#source: start.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386 -z ibt
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-shstk1a.d b/ld/testsuite/ld-i386/property-x86-shstk1a.d
index 238cebeead..3fd91085fe 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk1a.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk1a.d
@@ -1,6 +1,11 @@
#source: property-x86-empty.s
#source: property-x86-shstk.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

+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
diff --git a/ld/testsuite/ld-i386/property-x86-shstk1b.d b/ld/testsuite/ld-i386/property-x86-shstk1b.d
index faa2ea7b71..28796c9a62 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk1b.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk1b.d
@@ -1,6 +1,11 @@
#source: property-x86-shstk.s
#source: property-x86-empty.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

+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
diff --git a/ld/testsuite/ld-i386/property-x86-shstk2.d b/ld/testsuite/ld-i386/property-x86-shstk2.d
index b39fa58c59..baad3afaad 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk2.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk2.d
@@ -1,9 +1,11 @@
#source: property-x86-shstk.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-shstk3a.d b/ld/testsuite/ld-i386/property-x86-shstk3a.d
index 44f3e57416..48802ce65b 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk3a.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk3a.d
@@ -1,10 +1,12 @@
#source: property-x86-3.s
#source: property-x86-shstk.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
+ x86 ISA used: CMOV, SSE, SSSE3, SSE4_1
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-shstk3b.d b/ld/testsuite/ld-i386/property-x86-shstk3b.d
index db136cdc9a..f93b1c7093 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk3b.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk3b.d
@@ -1,10 +1,12 @@
#source: property-x86-shstk.s
#source: property-x86-3.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: SSE, SSE3, SSE4_1, AVX
+ x86 ISA used: CMOV, SSE, SSSE3, SSE4_1
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-shstk4.d b/ld/testsuite/ld-i386/property-x86-shstk4.d
index d962eabb98..53febc525c 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk4.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk4.d
@@ -1,9 +1,11 @@
#source: property-x86-empty.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386 -z shstk
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/property-x86-shstk5.d b/ld/testsuite/ld-i386/property-x86-shstk5.d
index 6d6371f653..bda82ad73e 100644
--- a/ld/testsuite/ld-i386/property-x86-shstk5.d
+++ b/ld/testsuite/ld-i386/property-x86-shstk5.d
@@ -1,9 +1,11 @@
#source: start.s
-#as: --32
+#as: --32 -mx86-used-note=yes
#ld: -r -melf_i386 -z shstk
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-i386/tls.exp b/ld/testsuite/ld-i386/tls.exp
index 63c30c774d..d937ca485e 100644
--- a/ld/testsuite/ld-i386/tls.exp
+++ b/ld/testsuite/ld-i386/tls.exp
@@ -40,19 +40,19 @@ run_cc_link_tests [list \
[list \
"Build tls-def1.o tls-main1.o" \
"" \
- "-fPIE" \
+ "-fPIE -Wa,-mx86-used-note=yes" \
{tls-def1.c tls-main1.c} \
] \
[list \
"Build tls-gd1.o tls-ld1.o" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mx86-used-note=yes" \
{tls-gd1.S tls-ld1.S} \
] \
[list \
"Build libtls-1a.so" \
"-shared tmpdir/tls-def1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libtls-1a.so" \
@@ -60,7 +60,7 @@ run_cc_link_tests [list \
[list \
"Build libtls-1b.so" \
"-shared tmpdir/tls-gd1.o tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libtls-1b.so" \
@@ -68,7 +68,7 @@ run_cc_link_tests [list \
[list \
"Build libtls-1bn.so" \
"-Wl,-z,now -shared tmpdir/tls-gd1.o tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libtls-1bn.so" \
@@ -80,7 +80,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (dynamic)" \
"tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1a" \
"pass.out" \
@@ -89,7 +89,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (dynamic, -z now)" \
"-Wl,-z,now tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1an" \
"pass.out" \
@@ -98,7 +98,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (PIE)" \
"-pie tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1b" \
"pass.out" \
@@ -107,7 +107,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (PIE, -z now)" \
"-pie -Wl,-z,now tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1bn" \
"pass.out" \
@@ -116,7 +116,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (static)" \
"-static tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1c" \
"pass.out" \
@@ -125,7 +125,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> IE transition without PLT" \
"tmpdir/tls-main1.o tmpdir/tls-gd1.o tmpdir/tls-ld1.o \
tmpdir/libtls-1a.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1d" \
"pass.out" \
@@ -134,7 +134,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> IE transition without PLT (-z now)" \
"-Wl,-z,now tmpdir/tls-main1.o tmpdir/tls-gd1.o tmpdir/tls-ld1.o \
tmpdir/libtls-1a.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1dn" \
"pass.out" \
@@ -143,7 +143,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (1)" \
"-Wl,--no-as-needed tmpdir/tls-main1.o \
tmpdir/libtls-1a.so tmpdir/libtls-1b.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1e" \
"pass.out" \
@@ -152,7 +152,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (2)" \
"tmpdir/tls-main1.o tmpdir/tls-def1.o \
tmpdir/libtls-1b.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1f" \
"pass.out" \
@@ -161,7 +161,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (3)" \
"-Wl,--no-as-needed -Wl,-z,now tmpdir/tls-main1.o \
tmpdir/libtls-1a.so tmpdir/libtls-1bn.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1en" \
"pass.out" \
@@ -170,7 +170,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (4)" \
"-Wl,-z,now tmpdir/tls-main1.o tmpdir/tls-def1.o \
tmpdir/libtls-1bn.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1fn" \
"pass.out" \
@@ -186,7 +186,7 @@ run_cc_link_tests [list \
[list \
"Build libtlsdesc1.so" \
"-shared" \
- "-fPIC $GNU2_CFLAGS" \
+ "-fPIC $GNU2_CFLAGS -Wa,-mx86-used-note=yes" \
{ tlsdesc1b.c } \
{} \
"libtlsdesc1.so" \
@@ -194,7 +194,7 @@ run_cc_link_tests [list \
[list \
"Build libtlsdesc1n.so" \
"-Wl,-z,now -shared" \
- "-fPIC $GNU2_CFLAGS" \
+ "-fPIC $GNU2_CFLAGS -Wa,-mx86-used-note=yes" \
{ tlsdesc1b.c } \
{} \
"libtlsdesc1n.so" \
@@ -205,7 +205,7 @@ run_ld_link_exec_tests [list \
[list \
"Run tlsdesc1" \
"-Wl,--no-as-needed tmpdir/libtlsdesc1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1a" \
"pass.out" \
@@ -214,7 +214,7 @@ run_ld_link_exec_tests [list \
[list \
"Run tlsdesc1 (-z now)" \
"-Wl,-z,now -Wl,--no-as-needed tmpdir/libtlsdesc1n.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1b" \
"pass.out" \
@@ -223,7 +223,7 @@ run_ld_link_exec_tests [list \
[list \
"Run tlsdesc1 with PIE" \
"-pie -Wl,--no-as-needed tmpdir/libtlsdesc1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1c" \
"pass.out" \
@@ -232,7 +232,7 @@ run_ld_link_exec_tests [list \
[list \
"Run tlsdesc1 with PIE (-z now)" \
"-pie -Wl,-z,now -Wl,--no-as-needed tmpdir/libtlsdesc1n.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1d" \
"pass.out" \
diff --git a/ld/testsuite/ld-x86-64/bnd-branch-1-now.d b/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
index 6998b0ea8b..dc48b4ca01 100644
--- a/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-branch-1-now.d
@@ -1,4 +1,4 @@
-#source: bnd-branch-1.s
+#source: bnd-branch-1.s -mx86-used-note=no
#as: --64
#ld: -z now -shared -melf_x86_64 --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
#objdump: -dw
diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d b/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
index aeb75247aa..4d8e9ab429 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-1-now.d
@@ -1,5 +1,5 @@
#source: bnd-ifunc-1.s
-#as: --64 -madd-bnd-prefix
+#as: --64 -madd-bnd-prefix -mx86-used-note=no
#ld: -z now -shared -melf_x86_64 -z bndplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
#objdump: -dw

diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d b/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
index 790e107586..800dba02dc 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2-now.d
@@ -1,5 +1,5 @@
#source: bnd-ifunc-2.s
-#as: --64 -madd-bnd-prefix
+#as: --64 -madd-bnd-prefix -mx86-used-note=no
#ld: -z now -shared -melf_x86_64 -z bndplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
#objdump: -dw

diff --git a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
index 3e1997396f..4df715629d 100644
--- a/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
+++ b/ld/testsuite/ld-x86-64/bnd-ifunc-2.d
@@ -1,4 +1,4 @@
-#as: --64 -madd-bnd-prefix
+#as: --64 -madd-bnd-prefix -mx86-used-note=no
#ld: -shared -melf_x86_64 -z bndplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
#objdump: -dw

diff --git a/ld/testsuite/ld-x86-64/bnd-plt-1-now.d b/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
index 8720e0e8d9..1d4d8ebd2a 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1-now.d
@@ -1,5 +1,5 @@
#source: bnd-branch-1.s
-#as: --64
+#as: --64 -mx86-used-note=no
#ld: -z now -shared -melf_x86_64 -z bndplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
#objdump: -dw

diff --git a/ld/testsuite/ld-x86-64/bnd-plt-1.d b/ld/testsuite/ld-x86-64/bnd-plt-1.d
index 043db114fc..bd10b6c7af 100644
--- a/ld/testsuite/ld-x86-64/bnd-plt-1.d
+++ b/ld/testsuite/ld-x86-64/bnd-plt-1.d
@@ -1,4 +1,4 @@
-#source: bnd-branch-1.s
+#source: bnd-branch-1.s -mx86-used-note=no
#as: --64
#ld: -shared -melf_x86_64 -z bndplt --hash-style=sysv -z max-page-size=0x200000 -z noseparate-code
#objdump: -dw
diff --git a/ld/testsuite/ld-x86-64/mpx.exp b/ld/testsuite/ld-x86-64/mpx.exp
index 753f7ca2cf..7822221d23 100644
--- a/ld/testsuite/ld-x86-64/mpx.exp
+++ b/ld/testsuite/ld-x86-64/mpx.exp
@@ -118,15 +118,15 @@ run_ld_link_tests {
{"Build mpx4"
"-m elf_x86_64 -z bndplt --hash-style=sysv tmpdir/libcall1.so \
-z max-page-size=0x200000 -z noseparate-code" ""
- "--64" {mpx4a.s} {{objdump -dw mpx4.dd}} "mpx4"}
+ "--64 -mx86-used-note=no" {mpx4a.s} {{objdump -dw mpx4.dd}} "mpx4"}
{"Build mpx3 (-z now)"
"-z now -m elf_x86_64 -z bndplt --hash-style=sysv tmpdir/libcall.so \
-z max-page-size=0x200000 -z noseparate-code" ""
- "--64" {mpx3a.s} {{objdump -dw mpx3n.dd}} "mpx3n"}
+ "--64 -mx86-used-note=no" {mpx3a.s} {{objdump -dw mpx3n.dd}} "mpx3n"}
{"Build mpx4 (-z now)"
"-z now -m elf_x86_64 -z bndplt --hash-style=sysv tmpdir/libcall1.so \
-z max-page-size=0x200000 -z noseparate-code" ""
- "--64" {mpx4a.s} {{objdump -dw mpx4n.dd}} "mpx4n"}
+ "--64 -mx86-used-note=no" {mpx4a.s} {{objdump -dw mpx4n.dd}} "mpx4n"}
}

run_ld_link_exec_tests $run_tests
diff --git a/ld/testsuite/ld-x86-64/no-plt.exp b/ld/testsuite/ld-x86-64/no-plt.exp
index d03892a205..0887803a58 100644
--- a/ld/testsuite/ld-x86-64/no-plt.exp
+++ b/ld/testsuite/ld-x86-64/no-plt.exp
@@ -46,19 +46,19 @@ run_cc_link_tests [list \
[list \
"Build no-plt-func1.o no-plt-main1.o" \
"" \
- "-fPIE" \
+ "-fPIE -Wa,-mx86-used-note=yes" \
{no-plt-func1.c no-plt-main1.c} \
] \
[list \
"Build no-plt-check1.o no-plt-extern1.o" \
"" \
- "-Wa,-mrelax-relocations=yes" \
+ "-Wa,-mrelax-relocations=yes,-mx86-used-note=yes" \
{no-plt-check1.S no-plt-extern1.S} \
] \
[list \
"Build libno-plt-1a.so" \
"-shared tmpdir/no-plt-func1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libno-plt-1a.so" \
@@ -66,7 +66,7 @@ run_cc_link_tests [list \
[list \
"Build libno-plt-1b.so" \
"-shared tmpdir/no-plt-extern1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr libno-plt-1b.rd} \
{objdump -dwrj.text libno-plt-1b.dd}} \
@@ -76,7 +76,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1a)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1a.rd} {objdump -dwrj.text no-plt-1a.dd}} \
"no-plt-1a" \
@@ -85,7 +85,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1b)" \
"tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1b.rd} {objdump -dwrj.text no-plt-1b.dd}} \
"no-plt-1b" \
@@ -94,7 +94,7 @@ run_cc_link_tests [list \
"No PLT (dynamic 1c)" \
"$NOPIE_LDFLAGS tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1c.rd} {objdump -dwrj.text no-plt-1c.dd}} \
"no-plt-1c" \
@@ -103,7 +103,7 @@ run_cc_link_tests [list \
"No PLT (static 1d)" \
"-static tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1d.rd} {objdump -dwrj.text no-plt-1d.dd}} \
"no-plt-1d" \
@@ -112,7 +112,7 @@ run_cc_link_tests [list \
"No PLT (PIE 1e)" \
"-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{{readelf -Wr no-plt-1e.rd} {nm -gD no-plt-1e.nd} {objdump -dwrj.text no-plt-1e.dd}} \
"no-plt-1e" \
@@ -121,7 +121,7 @@ run_cc_link_tests [list \
"No PLT (PIE 1f)" \
"-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf -Wr no-plt-1f.rd} {objdump -dwrj.text no-plt-1f.dd}} \
"no-plt-1f" \
@@ -130,7 +130,7 @@ run_cc_link_tests [list \
"No PLT (PIE 1g)" \
"-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf -Wr no-plt-1g.rd} {objdump -dwrj.text no-plt-1g.dd}} \
"no-plt-1g" \
@@ -142,7 +142,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1a)" \
"tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1a" \
"pass.out" \
@@ -151,7 +151,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1b)" \
"tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1b" \
"pass.out" \
@@ -160,7 +160,7 @@ run_ld_link_exec_tests [list \
"No PLT (dynamic 1c)" \
"tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1c" \
"pass.out" \
@@ -169,7 +169,7 @@ run_ld_link_exec_tests [list \
"No PLT (static 1d)" \
"-static tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1d" \
"pass.out" \
@@ -178,7 +178,7 @@ run_ld_link_exec_tests [list \
"No PLT (PIE 1e)" \
"-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/no-plt-extern1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1e" \
"pass.out" \
@@ -187,7 +187,7 @@ run_ld_link_exec_tests [list \
"No PLT (PIE 1f)" \
"-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/libno-plt-1a.so tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1f" \
"pass.out" \
@@ -196,7 +196,7 @@ run_ld_link_exec_tests [list \
"No PLT (PIE 1g)" \
"-pie tmpdir/no-plt-check1.o tmpdir/no-plt-main1.o \
tmpdir/no-plt-func1.o tmpdir/libno-plt-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"no-plt-1g" \
"pass.out" \
@@ -209,14 +209,14 @@ if { [check_ifunc_available] } {
[list \
"Build pr20253-2a.o pr20253-2b.o pr20253-2c.o pr20253-2d.o" \
"" \
- "-fPIE -O2 -g" \
+ "-fPIE -O2 -g -Wa,-mx86-used-note=yes" \
{ pr20253-2a.c pr20253-2b.S pr20253-2c.S pr20253-2d.S } \
] \
[list \
"Build libpr20253-2a.so" \
"-shared tmpdir/pr20253-2b.o \
tmpdir/pr20253-2c.o tmpdir/pr20253-2d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{} \
"libpr20253-2a.so" \
@@ -228,7 +228,7 @@ if { [check_ifunc_available] } {
"Run pr20253-2a" \
"tmpdir/pr20253-2a.o tmpdir/pr20253-2b.o \
tmpdir/pr20253-2c.o tmpdir/pr20253-2d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-2a" \
"pass.out" \
@@ -237,7 +237,7 @@ if { [check_ifunc_available] } {
"Run pr20253-2b" \
"--static tmpdir/pr20253-2a.o tmpdir/pr20253-2b.o \
tmpdir/pr20253-2c.o tmpdir/pr20253-2d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-2b" \
"pass.out" \
@@ -246,7 +246,7 @@ if { [check_ifunc_available] } {
"Run pr20253-2c" \
"-pie tmpdir/pr20253-2a.o tmpdir/pr20253-2b.o \
tmpdir/pr20253-2c.o tmpdir/pr20253-2d.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-2c" \
"pass.out" \
@@ -254,7 +254,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-2d" \
"tmpdir/pr20253-2a.o tmpdir/libpr20253-2a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-2d" \
"pass.out" \
@@ -262,7 +262,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-2e" \
"-pie tmpdir/pr20253-2a.o tmpdir/libpr20253-2a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr20253-2e" \
"pass.out" \
@@ -270,7 +270,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-2f" \
"$NOPIE_LDFLAGS tmpdir/pr20253-2a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr20253-2b.S pr20253-2c.S pr20253-2d.S } \
"pr20253-2f" \
"pass.out" \
@@ -279,7 +279,7 @@ if { [check_ifunc_available] } {
[list \
"Run pr20253-2g" \
"--static tmpdir/pr20253-2a.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr20253-2b.S pr20253-2c.S pr20253-2d.S } \
"pr20253-2g" \
"pass.out" \
diff --git a/ld/testsuite/ld-x86-64/pr23486a-x32.d b/ld/testsuite/ld-x86-64/pr23486a-x32.d
index 6d9fa68cdb..7ee8b6e159 100644
--- a/ld/testsuite/ld-x86-64/pr23486a-x32.d
+++ b/ld/testsuite/ld-x86-64/pr23486a-x32.d
@@ -1,6 +1,6 @@
#source: pr23486a.s
#source: pr23486b.s
-#as: --x32
+#as: --x32 -mx86-used-note=no
#ld: -r -m elf32_x86_64
#readelf: -n

diff --git a/ld/testsuite/ld-x86-64/pr23486a.d b/ld/testsuite/ld-x86-64/pr23486a.d
index dc2b7bf760..377099ce54 100644
--- a/ld/testsuite/ld-x86-64/pr23486a.d
+++ b/ld/testsuite/ld-x86-64/pr23486a.d
@@ -1,6 +1,6 @@
#source: pr23486a.s
#source: pr23486b.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=no
#ld: -r -m elf_x86_64
#readelf: -n

diff --git a/ld/testsuite/ld-x86-64/pr23486b-x32.d b/ld/testsuite/ld-x86-64/pr23486b-x32.d
index 0445e69d82..22eff2fd7e 100644
--- a/ld/testsuite/ld-x86-64/pr23486b-x32.d
+++ b/ld/testsuite/ld-x86-64/pr23486b-x32.d
@@ -1,6 +1,6 @@
#source: pr23486b.s
#source: pr23486a.s
-#as: --x32
+#as: --x32 -mx86-used-note=no
#ld: -r -m elf32_x86_64
#readelf: -n

diff --git a/ld/testsuite/ld-x86-64/pr23486b.d b/ld/testsuite/ld-x86-64/pr23486b.d
index dd0fe88143..ff6672dc45 100644
--- a/ld/testsuite/ld-x86-64/pr23486b.d
+++ b/ld/testsuite/ld-x86-64/pr23486b.d
@@ -1,6 +1,6 @@
#source: pr23486b.s
#source: pr23486a.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=no
#ld: -r -m elf_x86_64
#readelf: -n

diff --git a/ld/testsuite/ld-x86-64/property-1a.r b/ld/testsuite/ld-x86-64/property-1a.r
new file mode 100644
index 0000000000..aa08fc9cda
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/property-1a.r
@@ -0,0 +1,9 @@
+#...
+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
+
+#pass
diff --git a/ld/testsuite/ld-x86-64/property-2a.r b/ld/testsuite/ld-x86-64/property-2a.r
new file mode 100644
index 0000000000..f6858d42a3
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/property-2a.r
@@ -0,0 +1,9 @@
+#...
+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
+
+#pass
diff --git a/ld/testsuite/ld-x86-64/property-3a.r b/ld/testsuite/ld-x86-64/property-3a.r
new file mode 100644
index 0000000000..13a551edde
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/property-3a.r
@@ -0,0 +1,9 @@
+#...
+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 feature used: x86
+#pass
diff --git a/ld/testsuite/ld-x86-64/property-4a.r b/ld/testsuite/ld-x86-64/property-4a.r
new file mode 100644
index 0000000000..46d1600cac
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/property-4a.r
@@ -0,0 +1,9 @@
+#...
+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 feature used: x86
+#pass
diff --git a/ld/testsuite/ld-x86-64/property-5a.r b/ld/testsuite/ld-x86-64/property-5a.r
new file mode 100644
index 0000000000..23c8f44a4f
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/property-5a.r
@@ -0,0 +1,9 @@
+#...
+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 feature used: x86
+#pass
diff --git a/ld/testsuite/ld-x86-64/property-7a.r b/ld/testsuite/ld-x86-64/property-7a.r
new file mode 100644
index 0000000000..7874269459
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/property-7a.r
@@ -0,0 +1,8 @@
+#...
+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
+ no copy on protected
+ x86 ISA used: <None>
+ x86 feature used: x86
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 d70224a1f3..5c7c502bb1 100644
--- a/ld/testsuite/ld-x86-64/property-x86-3-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-3-x32.d
@@ -1,10 +1,11 @@
#source: property-x86-3.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-3.d b/ld/testsuite/ld-x86-64/property-x86-3.d
index 2cd5c8fcef..815d5a3d62 100644
--- a/ld/testsuite/ld-x86-64/property-x86-3.d
+++ b/ld/testsuite/ld-x86-64/property-x86-3.d
@@ -1,9 +1,10 @@
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#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
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
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 9012513533..7c6a2e129b 100644
--- a/ld/testsuite/ld-x86-64/property-x86-4a-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-4a-x32.d
@@ -1,10 +1,13 @@
#source: property-x86-4a.s
#source: property-x86-4b.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -m elf32_x86_64 --gc-sections --entry=main
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000008 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x0000002c NT_GNU_PROPERTY_TYPE_0
Properties: no copy on protected
+ x86 feature needed: x86
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-4a.d b/ld/testsuite/ld-x86-64/property-x86-4a.d
index 5e8cf4cf84..8637ed4e98 100644
--- a/ld/testsuite/ld-x86-64/property-x86-4a.d
+++ b/ld/testsuite/ld-x86-64/property-x86-4a.d
@@ -1,10 +1,13 @@
#source: property-x86-4a.s
#source: property-x86-4b.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -m elf_x86_64 --gc-sections --entry=main
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000008 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000038 NT_GNU_PROPERTY_TYPE_0
Properties: no copy on protected
+ x86 feature needed: x86
+ x86 ISA used: <None>
+ x86 feature used: x86
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 b215d79deb..7a95401ac3 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d
@@ -1,6 +1,11 @@
#source: property-x86-empty.s
#source: property-x86-ibt.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -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 used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt1a.d b/ld/testsuite/ld-x86-64/property-x86-ibt1a.d
index 50f220caed..e989a8a817 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt1a.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt1a.d
@@ -1,6 +1,11 @@
#source: property-x86-empty.s
#source: property-x86-ibt.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_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 used: <None>
+ x86 feature used: x86
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 7361cea819..302db4a35b 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt1b-x32.d
@@ -1,6 +1,11 @@
#source: property-x86-ibt.s
#source: property-x86-empty.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -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 used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt1b.d b/ld/testsuite/ld-x86-64/property-x86-ibt1b.d
index 7f47db7e01..6c4e67d865 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt1b.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt1b.d
@@ -1,6 +1,11 @@
#source: property-x86-ibt.s
#source: property-x86-empty.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_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 used: <None>
+ x86 feature used: x86
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 a0fb61436d..062ca1d892 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt2-x32.d
@@ -1,9 +1,11 @@
#source: property-x86-ibt.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt2.d b/ld/testsuite/ld-x86-64/property-x86-ibt2.d
index be3df9c7ac..6a9167f6f1 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt2.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt2.d
@@ -1,9 +1,11 @@
#source: property-x86-ibt.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
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 f87ecff6af..e8e5b6a118 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a-x32.d
@@ -1,10 +1,12 @@
#source: property-x86-3.s
#source: property-x86-ibt.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
index 902691395c..9c1d68c71b 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3a.d
@@ -1,10 +1,12 @@
#source: property-x86-3.s
#source: property-x86-ibt.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
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 45f6037ad7..f31dc3d850 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b-x32.d
@@ -1,10 +1,12 @@
#source: property-x86-ibt.s
#source: property-x86-3.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
index 259e333bcd..3d3fb7f493 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt3b.d
@@ -1,10 +1,12 @@
#source: property-x86-ibt.s
#source: property-x86-3.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
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 b96abbcebe..648a4ebfb7 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt4-x32.d
@@ -1,9 +1,11 @@
#source: property-x86-empty.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -m elf32_x86_64 -z ibt
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt4.d b/ld/testsuite/ld-x86-64/property-x86-ibt4.d
index 3f61a7691e..7aac22dfef 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt4.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt4.d
@@ -1,9 +1,11 @@
#source: property-x86-empty.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64 -z ibt
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
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 5245d0bc90..87f802d792 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt5-x32.d
@@ -1,9 +1,11 @@
#source: start.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -m elf32_x86_64 -z ibt
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-ibt5.d b/ld/testsuite/ld-x86-64/property-x86-ibt5.d
index ab74033455..05974a6e34 100644
--- a/ld/testsuite/ld-x86-64/property-x86-ibt5.d
+++ b/ld/testsuite/ld-x86-64/property-x86-ibt5.d
@@ -1,9 +1,11 @@
#source: start.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64 -z ibt
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: IBT
+ x86 ISA used: <None>
+ x86 feature used: x86
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 312d1ea122..682ec6478a 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk1a-x32.d
@@ -1,6 +1,11 @@
#source: property-x86-empty.s
#source: property-x86-shstk.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -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 used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk1a.d b/ld/testsuite/ld-x86-64/property-x86-shstk1a.d
index 39a996e22c..7a14862296 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk1a.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk1a.d
@@ -1,6 +1,11 @@
#source: property-x86-empty.s
#source: property-x86-shstk.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_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 used: <None>
+ x86 feature used: x86
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 9e91c5c753..f36edc76f7 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk1b-x32.d
@@ -1,6 +1,11 @@
#source: property-x86-shstk.s
#source: property-x86-empty.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -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 used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk1b.d b/ld/testsuite/ld-x86-64/property-x86-shstk1b.d
index a9b9e626a4..1067547e33 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk1b.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk1b.d
@@ -1,6 +1,11 @@
#source: property-x86-shstk.s
#source: property-x86-empty.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_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 used: <None>
+ x86 feature used: x86
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 7155f3feac..959e45f986 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk2-x32.d
@@ -1,9 +1,11 @@
#source: property-x86-shstk.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk2.d b/ld/testsuite/ld-x86-64/property-x86-shstk2.d
index 7fbafe8245..2945d29213 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk2.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk2.d
@@ -1,9 +1,11 @@
#source: property-x86-shstk.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
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 85fcb6b353..10a9d968ea 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a-x32.d
@@ -1,10 +1,12 @@
#source: property-x86-3.s
#source: property-x86-shstk.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
index 0eb42e7ab2..d321422f8c 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3a.d
@@ -1,10 +1,12 @@
#source: property-x86-3.s
#source: property-x86-shstk.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
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 23a8be6a23..5f17ed10c0 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b-x32.d
@@ -1,10 +1,12 @@
#source: property-x86-shstk.s
#source: property-x86-3.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#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
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
index 152eea5353..582319d6d2 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk3b.d
@@ -1,10 +1,12 @@
#source: property-x86-shstk.s
#source: property-x86-3.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 ISA needed: CMOV, SSE, SSSE3, SSE4_1
+ x86 ISA used: SSE, SSE3, SSE4_1, AVX
+ x86 feature used: x86
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 61b7826947..e612be4a73 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk4-x32.d
@@ -1,9 +1,11 @@
#source: property-x86-empty.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -m elf32_x86_64 -z shstk
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk4.d b/ld/testsuite/ld-x86-64/property-x86-shstk4.d
index c2a7b363a8..3fe0d1861b 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk4.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk4.d
@@ -1,9 +1,11 @@
#source: property-x86-empty.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64 -z shstk
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
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 83c6a6866c..bcb4b9d0b9 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk5-x32.d
@@ -1,9 +1,11 @@
#source: start.s
-#as: --x32
+#as: --x32 -mx86-used-note=yes
#ld: -r -m elf32_x86_64 -z shstk
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x0000000c NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000024 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/property-x86-shstk5.d b/ld/testsuite/ld-x86-64/property-x86-shstk5.d
index 9a4b186158..c8d0424981 100644
--- a/ld/testsuite/ld-x86-64/property-x86-shstk5.d
+++ b/ld/testsuite/ld-x86-64/property-x86-shstk5.d
@@ -1,9 +1,11 @@
#source: start.s
-#as: --64 -defsym __64_bit__=1
+#as: --64 -defsym __64_bit__=1 -mx86-used-note=yes
#ld: -r -melf_x86_64 -z shstk
#readelf: -n

Displaying notes found in: .note.gnu.property
Owner Data size Description
- GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0
+ GNU 0x00000030 NT_GNU_PROPERTY_TYPE_0
Properties: x86 feature: SHSTK
+ x86 ISA used: <None>
+ x86 feature used: x86
diff --git a/ld/testsuite/ld-x86-64/tls.exp b/ld/testsuite/ld-x86-64/tls.exp
index bf2c3b63c4..217bac5759 100644
--- a/ld/testsuite/ld-x86-64/tls.exp
+++ b/ld/testsuite/ld-x86-64/tls.exp
@@ -40,19 +40,19 @@ run_cc_link_tests [list \
[list \
"Build tls-def1.o tls-main1.o" \
"" \
- "-fPIE" \
+ "-fPIE -Wa,-mx86-used-note=yes" \
{tls-def1.c tls-main1.c} \
] \
[list \
"Build tls-gd1.o tls-ld1.o" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mx86-used-note=yes" \
{tls-gd1.S tls-ld1.S} \
] \
[list \
"Build libtls-1a.so" \
"-shared tmpdir/tls-def1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libtls-1a.so" \
@@ -60,7 +60,7 @@ run_cc_link_tests [list \
[list \
"Build libtls-1b.so" \
"-shared tmpdir/tls-gd1.o tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libtls-1b.so" \
@@ -68,7 +68,7 @@ run_cc_link_tests [list \
[list \
"Build libtls-1bn.so" \
"-Wl,-z,now -shared tmpdir/tls-gd1.o tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{dummy.s} \
{} \
"libtls-1bn.so" \
@@ -80,7 +80,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (dynamic)" \
"tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1a" \
"pass.out" \
@@ -89,7 +89,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (dynamic, -z now)" \
"-Wl,-z,now tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1an" \
"pass.out" \
@@ -98,7 +98,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (PIE)" \
"-pie tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1b" \
"pass.out" \
@@ -107,7 +107,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (PIE, -z now)" \
"-pie -Wl,-z,now tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1bn" \
"pass.out" \
@@ -116,7 +116,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> LE transition without PLT (static)" \
"-static tmpdir/tls-def1.o tmpdir/tls-main1.o tmpdir/tls-gd1.o \
tmpdir/tls-ld1.o" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1c" \
"pass.out" \
@@ -125,7 +125,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> IE transition without PLT" \
"-Wl,--no-as-needed,-R,tmpdir tmpdir/tls-main1.o \
tmpdir/tls-gd1.o tmpdir/tls-ld1.o tmpdir/libtls-1a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1d" \
"pass.out" \
@@ -134,7 +134,7 @@ run_ld_link_exec_tests [list \
"TLS GD/LD -> IE transition without PLT (-z now)" \
"-Wl,-z,now tmpdir/tls-main1.o tmpdir/tls-gd1.o tmpdir/tls-ld1.o \
tmpdir/libtls-1a.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1dn" \
"pass.out" \
@@ -143,7 +143,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (1)" \
"-Wl,--no-as-needed,-R,tmpdir tmpdir/tls-main1.o \
tmpdir/libtls-1a.so tmpdir/libtls-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1e" \
"pass.out" \
@@ -152,7 +152,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (2)" \
"-Wl,--no-as-needed,-R,tmpdir tmpdir/tls-main1.o \
tmpdir/tls-def1.o tmpdir/libtls-1b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1f" \
"pass.out" \
@@ -161,7 +161,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (3)" \
"-Wl,--no-as-needed -Wl,-z,now tmpdir/tls-main1.o \
tmpdir/libtls-1a.so tmpdir/libtls-1bn.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1en" \
"pass.out" \
@@ -170,7 +170,7 @@ run_ld_link_exec_tests [list \
"TLS without PLT (4)" \
"-Wl,-z,now tmpdir/tls-main1.o tmpdir/tls-def1.o \
tmpdir/libtls-1bn.so -Wl,-R,tmpdir" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"tls-1fn" \
"pass.out" \
@@ -186,7 +186,7 @@ run_cc_link_tests [list \
[list \
"Build libtlsdesc1.so" \
"-shared" \
- "-fPIC $GNU2_CFLAGS" \
+ "-fPIC $GNU2_CFLAGS -Wa,-mx86-used-note=yes" \
{ tlsdesc1b.c } \
{} \
"libtlsdesc1.so" \
@@ -194,7 +194,7 @@ run_cc_link_tests [list \
[list \
"Build libtlsdesc1n.so" \
"-Wl,-z,now -shared" \
- "-fPIC $GNU2_CFLAGS" \
+ "-fPIC $GNU2_CFLAGS -Wa,-mx86-used-note=yes" \
{ tlsdesc1b.c } \
{} \
"libtlsdesc1n.so" \
@@ -211,7 +211,7 @@ if { [at_least_gcc_version 5 0] } {
[list \
"Run tlsdesc1" \
"-Wl,--no-as-needed tmpdir/libtlsdesc1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1a" \
"pass.out" \
@@ -220,7 +220,7 @@ if { [at_least_gcc_version 5 0] } {
[list \
"Run tlsdesc1 with PIE" \
"-pie -Wl,--no-as-needed tmpdir/libtlsdesc1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1c" \
"pass.out" \
@@ -233,7 +233,7 @@ run_ld_link_exec_tests [list \
[list \
"Run tlsdesc1 (-z now)" \
"-Wl,-z,now -Wl,--no-as-needed tmpdir/libtlsdesc1n.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1b" \
"pass.out" \
@@ -242,7 +242,7 @@ run_ld_link_exec_tests [list \
[list \
"Run tlsdesc1 with PIE (-z now)" \
"-pie -Wl,-z,now -Wl,--no-as-needed tmpdir/libtlsdesc1n.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ tlsdesc1a.c } \
"tlsdesc1d" \
"pass.out" \
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index 5c1f90c9d3..db65810f1f 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -34,6 +34,10 @@ if [istarget "*-*-nacl*"] {
set emul "elf_x86_64"
}

+global ASFLAGS
+set saved_ASFLAGS "$ASFLAGS"
+set ASFLAGS "$ASFLAGS -mx86-used-note=no"
+
# List contains test-items with 3 items followed by 2 lists:
# 0:name 1:ld early options 2:ld late options 3:assembler options
# 4:filenames of assembler files 5: action and options. 6: name of output file
@@ -708,7 +712,8 @@ if { [isnative] && [which $CC] != 0 } {

run_ld_link_tests {
{"X32 DSO from x86-64 object"
- "-shared -melf32_x86_64 tmpdir/simple-x32.o" "" "--x32"
+ "-shared -melf32_x86_64 tmpdir/simple-x32.o" ""
+ "--x32 -mx86-used-note=yes"
{dummy.s} {{readelf {-s --wide} x86-64-x32.rd}} "x86-64-x32"}
}

@@ -716,7 +721,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build plt-lib.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-lib.c } \
{} \
"libplt-lib.so" \
@@ -724,7 +729,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build libplt-main1.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mx86-used-note=yes" \
{ plt-main1.c } \
{{readelf {-Wr} plt-main1.rd}} \
"libplt-main1.a" \
@@ -732,7 +737,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build libplt-main2.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mx86-used-note=yes" \
{ plt-main2.c } \
{{readelf {-Wr} plt-main2.rd}} \
"libplt-main2.a" \
@@ -740,7 +745,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build libplt-main3.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mx86-used-note=yes $PLT_CFLAGS" \
{ plt-main3.c } \
{{readelf {-Wr} plt-main3.rd}} \
"libplt-main3.a" \
@@ -748,7 +753,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build libplt-main4.a" \
"" \
- "-fPIC -Wa,-mrelax-relocations=yes $PLT_CFLAGS" \
+ "-fPIC -Wa,-mrelax-relocations=yes,-mx86-used-note=yes $PLT_CFLAGS" \
{ plt-main4.c } \
{{readelf {-Wr} plt-main4.rd}} \
"libplt-main4.a" \
@@ -766,7 +771,7 @@ if { [isnative] && [which $CC] != 0 } {
"Build plt-main with PIE" \
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
{{readelf {-Wr} plt-main.rd}} \
"plt-main" \
@@ -774,7 +779,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build copyreloc-lib.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ copyreloc-lib.c } \
{} \
"copyreloc-lib.so" \
@@ -782,7 +787,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build libcopyreloc-main.a" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ copyreloc-main.S } \
{} \
"libcopyreloc-main.a" \
@@ -790,7 +795,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build copyreloc-main with PIE without -fPIE (1)" \
"tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf {-Wr} copyreloc-main1.rd}} \
"copyreloc-main" \
@@ -798,7 +803,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build copyreloc-main with PIE without -fPIE (2)" \
"tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf {-Wr} copyreloc-main2.rd}} \
"copyreloc-main" \
@@ -806,7 +811,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr17689.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr17689a.c } \
{} \
"pr17689.so" \
@@ -814,7 +819,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr17689now.so with -z now" \
"-shared -Wl,-z,now" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr17689a.c } \
{{readelf {-Wr} pr17689now.rd}} \
"pr17689now.so" \
@@ -822,14 +827,14 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr17689b.o" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr17689b.S } \
{} \
] \
[list \
"Build pr17689 with PIE without -fPIE" \
"tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf {-Wr} pr17689.rd}} \
"pr17689" \
@@ -837,7 +842,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr17689 with PIE -z now without -fPIE" \
"tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf {-Wr} pr17689now.rd}} \
"pr17689now" \
@@ -845,7 +850,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr17827 with PIE without -fPIE" \
"-Wl,--as-needed tmpdir/pr17689b.o tmpdir/pr17689.so -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf {-Wr} pr17827.rd}} \
"pr17827" \
@@ -853,7 +858,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr18900.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr18900a.c } \
"" \
"pr18900.so" \
@@ -861,7 +866,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr18900.o" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr18900b.c pr18900c.c } \
"" \
"pr18900.o" \
@@ -869,7 +874,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr18900a" \
"tmpdir/pr18900.o tmpdir/pr18900.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf {-Wrd} pr18900a.rd}} \
"pr18900a" \
@@ -877,7 +882,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr18900b" \
"-Wl,--as-needed tmpdir/pr18900.o tmpdir/pr18900.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
{{readelf {-Wrd} pr18900b.rd}} \
"pr18900b" \
@@ -885,7 +890,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr19031.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr19031a.c } \
"" \
"pr19031.so" \
@@ -893,7 +898,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build gotpcrel1d.so" \
"-shared" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ gotpcrel1d.S } \
"" \
"gotpcrel1d.so" \
@@ -901,7 +906,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build gotpcrel1a.o gotpcrel1b.o gotpcrel1c.o" \
"" \
- "-Wa,-mrelax-relocations=yes" \
+ "-Wa,-mrelax-relocations=yes,-mx86-used-note=yes" \
{ gotpcrel1a.S gotpcrel1b.c gotpcrel1c.c } \
] \
[list \
@@ -909,15 +914,15 @@ if { [isnative] && [which $CC] != 0 } {
"$NOPIE_LDFLAGS -Wl,--as-needed tmpdir/gotpcrel1a.o \
tmpdir/gotpcrel1b.o tmpdir/gotpcrel1c.o \
tmpdir/gotpcrel1d.so" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
- "" \
{{objdump {-dw} gotpcrel1.dd}} \
"gotpcrel1" \
] \
[list \
"Build pr19319.so" \
"-shared" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr19319a.S } \
"" \
"pr19319.so" \
@@ -925,7 +930,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr19319" \
"-pie -nostdlib -nostartfiles tmpdir/pr19319.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr19319b.S } \
{{objdump {-dw} pr19319.dd}} \
"pr19319" \
@@ -933,7 +938,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 1" \
"" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-no-copy.S} \
{{readelf {-n} property-1.r}} \
"property-1" \
@@ -941,15 +946,15 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 1 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
- {{readelf {-n} property-1.r}} \
+ {{readelf {-n} property-1a.r}} \
"property-1.o" \
] \
[list \
"Build property 1 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=no" \
{pass.c property-no-copy.S} \
{{readelf {-n} property-1.r}} \
"property-1.so" \
@@ -957,7 +962,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 2" \
"" \
- "" \
+ "-Wa,-mx86-used-note=no" \
{pass.c property-stack.S} \
{{readelf {-n} property-2.r}} \
"property-2" \
@@ -965,15 +970,15 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 2 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
- {{readelf {-n} property-2.r}} \
+ {{readelf {-n} property-2a.r}} \
"property-2.o" \
] \
[list \
"Build property 2 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
{{readelf {-n} property-2.r}} \
"property-2.so" \
@@ -981,7 +986,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 3" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S} \
{{readelf {-n} property-3.r}} \
"property-3" \
@@ -989,15 +994,15 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 3 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-1.S property-stack.S} \
- {{readelf {-n} property-3.r}} \
+ {{readelf {-n} property-3a.r}} \
"property-3.o" \
] \
[list \
"Build property 3 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{property-x86-1.S pass.c property-stack.S} \
{{readelf {-n} property-3.r}} \
"property-3.so" \
@@ -1005,7 +1010,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 4" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
{{readelf {-n} property-4.r}} \
"property-4" \
@@ -1013,15 +1018,15 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 4 (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
- {{readelf {-n} property-4.r}} \
+ {{readelf {-n} property-4a.r}} \
"property-4.o" \
] \
[list \
"Build property 4 (.so)" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
{{readelf {-n} property-4.r}} \
"property-4.so" \
@@ -1029,7 +1034,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 4 (-Wl,-z,stack-size=0)" \
"-Wl,-z,stack-size=0" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
{{readelf {-n} property-4.r}} \
"property-4" \
@@ -1037,7 +1042,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 5" \
"-Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
{{readelf {-n} property-5.r}} \
"property-5" \
@@ -1045,15 +1050,15 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property 5 (.o)" \
"-r -nostdlib -Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
- {{readelf {-n} property-5.r}} \
+ {{readelf {-n} property-5a.r}} \
"property-5.o" \
] \
[list \
"Build property 5 (.so)" \
"-shared -Wl,-z,stack-size=0x900000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
{{readelf {-n} property-5.r}} \
"property-5.so" \
@@ -1061,7 +1066,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property-6.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{property-6a.c property-6c.S} \
{{readelf {-n} property-6.r}} \
"property-6.so" \
@@ -1069,39 +1074,39 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build property-6.o" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-6b.c property-stack.S} \
- {{readelf {-n} property-2.r}} \
+ {{readelf {-n} property-2a.r}} \
"property-6.o" \
] \
[list \
"Build property-6" \
"-Wl,--as-needed tmpdir/property-6.o tmpdir/property-6.so" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
- "" \
{{readelf {-n} property-2.r}} \
"property-6" \
] \
[list \
"Build property 7a (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-unsorted-1.S} \
- {{readelf {-n} property-7.r}} \
+ {{readelf {-n} property-7a.r}} \
"property-7a.o" \
] \
[list \
"Build property 7b (.o)" \
"-r -nostdlib" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-unsorted-2.S} \
- {{readelf {-n} property-7.r}} \
+ {{readelf {-n} property-7a.r}} \
"property-7b.o" \
] \
[list \
"Build pr22001-1.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr22001-1a.c } \
{} \
"pr22001-1.so" \
@@ -1109,7 +1114,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22001-1a" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{ pr22001-1b.c } \
{{error_output "pr22001-1a.err"}} \
"pr22001-1a" \
@@ -1117,7 +1122,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr21997-1.so" \
"-shared" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ property-stack.S property-no-copy.S pr21997-1a.S } \
{} \
"pr21997-1.so" \
@@ -1125,7 +1130,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr21997-1a" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{ pr21997-1b.c } \
{{error_output "pr21997-1a.err"}} \
"pr21997-1a" \
@@ -1133,13 +1138,13 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22064a.o" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22064a.S } \
] \
[list \
"Build pr22064.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr22064b.c } \
{} \
"pr22064.so" \
@@ -1147,7 +1152,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22393-3a.so" \
"-shared -Wl,-z,separate-code,-z,max-page-size=0x1000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{pr22393-3a.c} \
{{readelf -lW pr22393-3a.rd} \
{readelf -lW pr22393-3b.rd}} \
@@ -1156,7 +1161,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22393-3a-now.so" \
"-shared -Wl,-z,separate-code,-z,now,-z,max-page-size=0x1000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{pr22393-3a.c} \
{{readelf -lW pr22393-3a.rd} \
{readelf -lW pr22393-3b.rd}} \
@@ -1165,7 +1170,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22393-3" \
"$NOPIE_LDFLAGS -Wl,-z,separate-code,-z,max-page-size=0x1000,--no-as-needed tmpdir/pr22393-3a.so" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{pr22393-3b.c} \
{{readelf -lW pr22393-3a.rd} \
{readelf -lW pr22393-3b.rd}} \
@@ -1174,7 +1179,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22393-3 (PIE)" \
"-pie -Wl,-z,separate-code,-z,max-page-size=0x1000,--no-as-needed tmpdir/pr22393-3a-now.so" \
- "-fPIE" \
+ "-fPIE -Wa,-mx86-used-note=yes" \
{pr22393-3b.c} \
{{readelf -lW pr22393-3a.rd} \
{readelf -lW pr22393-3b.rd}} \
@@ -1183,7 +1188,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22393-3 (static)" \
"-static -Wl,-z,separate-code,-z,max-page-size=0x1000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pr22393-3a.c pr22393-3b.c} \
{{readelf -lW pr22393-3a.rd} \
{readelf -lW pr22393-3b.rd}} \
@@ -1192,7 +1197,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22791-1.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr22791-1a.c } \
{} \
"pr22791-1.so" \
@@ -1200,7 +1205,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22791-1" \
"-pie -Wl,--no-as-needed tmpdir/pr22791-1.so" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{ pr22791-1b.s } \
{{error_output "pr22791-1.err"}} \
"pr22791-1" \
@@ -1208,13 +1213,13 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22791-2a.o" \
"" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{ pr22791-2a.s } \
] \
[list \
"Build pr22791-2.so" \
"-shared tmpdir/pr22791-2a.o" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr22791-2b.c } \
{{readelf -drW pr22791-2.rd}} \
"pr22791-2.so" \
@@ -1222,7 +1227,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22791-2" \
"-pie -Wl,--no-as-needed tmpdir/pr22791-2.so" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{ pr22791-2c.s } \
{{readelf -drW pr22791-2.rd}} \
"pr22791-2" \
@@ -1230,7 +1235,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22842.so" \
"-shared" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ pr22842a.c } \
{} \
"pr22842.so" \
@@ -1238,7 +1243,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22842" \
"-pie -Wl,--no-as-needed tmpdir/pr22842.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22842b.S } \
{{readelf -rW pr22842a.rd} \
{readelf -rW pr22842b.rd}} \
@@ -1251,7 +1256,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22001-1b" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1c.c } \
"pr22001-1b" \
"pass.out" \
@@ -1260,7 +1265,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21997-1b" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1c.c } \
"pr21997-1b" \
"pass.out" \
@@ -1272,7 +1277,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22001-1b" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{ pr22001-1c.c } \
{{error_output "pr22001-1b.err"}} \
"pr22001-1b" \
@@ -1280,7 +1285,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr21997-1b" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "$NOPIE_CFLAGS" \
+ "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \
{ pr21997-1c.c } \
{{error_output "pr21997-1b.err"}} \
"pr21997-1b" \
@@ -1293,7 +1298,7 @@ if { [isnative] && [which $CC] != 0 } {
"Run plt-main" \
"-Wl,--no-as-needed tmpdir/plt-main1.o tmpdir/plt-main2.o \
tmpdir/plt-main3.o tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main" \
"plt-main.out" \
@@ -1302,7 +1307,7 @@ if { [isnative] && [which $CC] != 0 } {
"Run plt-main with PIE" \
"-Wl,--no-as-needed -pie tmpdir/plt-main1.o tmpdir/plt-main2.o \
tmpdir/plt-main3.o tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-pie" \
"plt-main.out" \
@@ -1311,7 +1316,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run copyreloc-main with PIE without -fPIE" \
"-Wl,--as-needed -pie tmpdir/copyreloc-main.o tmpdir/copyreloc-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"copyreloc-main" \
"copyreloc-main.out" \
@@ -1319,7 +1324,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr17689 with PIE without -fPIE" \
"-Wl,--no-as-needed -pie tmpdir/pr17689b.o tmpdir/pr17689.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr17689" \
"pr17689.out" \
@@ -1327,7 +1332,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr17689 with PIE -z now without -fPIE" \
"-Wl,--as-needed,-z,now -pie tmpdir/pr17689b.o tmpdir/pr17689.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr17689now" \
"pr17689.out" \
@@ -1335,7 +1340,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr18900" \
"-Wl,--no-as-needed tmpdir/pr18900.o tmpdir/pr18900.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr18900" \
"pr18900.out" \
@@ -1343,7 +1348,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr19031" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr19031.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr19031b.S pr19031c.c } \
"pr19031" \
"pr19031.out" \
@@ -1352,7 +1357,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run gotpcrel1" \
"-Wl,--no-as-needed tmpdir/gotpcrel1d.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ gotpcrel1a.S gotpcrel1b.c gotpcrel1c.c } \
"gotpcrel1" \
"gotpcrel1.out" \
@@ -1360,112 +1365,112 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run property 1" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
"property-1" "pass.out" \
] \
[list \
"Run property 1 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
"property-1-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 1 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-no-copy.S} \
"property-1-static" "pass.out" \
] \
[list \
"Run property 2" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
"property-2" "pass.out" \
] \
[list \
"Run property 2 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
"property-2-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 2 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S} \
"property-3-static" "pass.out" \
] \
[list \
"Run property 3" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S} \
"property-3" "pass.out" \
] \
[list \
"Run property 3 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-1.S property-stack.S} \
"property-3-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 3 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-x86-1.S pass.c property-stack.S} \
"property-3-static" "pass.out" \
] \
[list \
"Run property 4" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
"property-4" "pass.out" \
] \
[list \
"Run property 4 (PIE)" \
"-pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
"property-4-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 4 (static)" \
"-static" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
"property-4-static" "pass.out" \
] \
[list \
"Run property 5" \
"-Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-stack.S property-x86-1.S property-x86-2.S} \
"property-5" "pass.out" \
] \
[list \
"Run property 5 (PIE)" \
"-pie -Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pass.c property-x86-2.S property-x86-1.S property-stack.S} \
"property-5-pie" "pass.out" "-fPIE" \
] \
[list \
"Run property 5 (static)" \
"-static -Wl,-z,stack-size=0x900000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{property-x86-2.S property-x86-1.S pass.c property-stack.S} \
"property-5-static" "pass.out" \
] \
[list \
"Run pr22001-1a (PIC 1)" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1b.c } \
"pr22001-1a-pic-1" \
"pass.out" \
@@ -1474,7 +1479,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22001-1a (PIC 2)" \
"-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1b.c } \
"pr22001-1a-pic-2" \
"pass.out" \
@@ -1483,7 +1488,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22001-1b (PIC 1)" \
"$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1c.c } \
"pr22001-1b-pic-1" \
"pass.out" \
@@ -1492,7 +1497,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22001-1b (PIC 2)" \
"-pie -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22001-1c.c } \
"pr22001-1b-pic-2" \
"pass.out" \
@@ -1501,7 +1506,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21997-1a (PIC 1)" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1b.c } \
"pr21997-1a-pic-1" \
"pass.out" \
@@ -1510,7 +1515,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21997-1a (PIC 2)" \
"-pie -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1b.c } \
"pr21997-1a-pic-2" \
"pass.out" \
@@ -1519,7 +1524,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21997-1b (PIC 1)" \
"$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1c.c } \
"pr21997-1b-pic-1" \
"pass.out" \
@@ -1528,7 +1533,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21997-1b (PIC 2)" \
"-pie -Wl,--no-as-needed tmpdir/pr21997-1.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21997-1c.c } \
"pr21997-1b-pic-2" \
"pass.out" \
@@ -1537,7 +1542,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22064" \
"-pie -Wl,--no-as-needed tmpdir/pr22064a.o tmpdir/pr22064.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr22064-pie" \
"pass.out" \
@@ -1546,7 +1551,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22393-3" \
"$NOPIE_LDFLAGS -Wl,-z,separate-code,-z,max-page-size=0x1000,--no-as-needed tmpdir/pr22393-3a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pr22393-3b.c} \
"pr22393-3" \
"pass.out" \
@@ -1555,7 +1560,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22393-3 (PIE)" \
"-pie -Wl,-z,separate-code,-z,max-page-size=0x1000,--no-as-needed tmpdir/pr22393-3a-now.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pr22393-3b.c} \
"pr22393-3-pie" \
"pass.out" \
@@ -1564,7 +1569,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22393-3 (static)" \
"-static -Wl,-z,separate-code,-z,max-page-size=0x1000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{pr22393-3a.c pr22393-3b.c} \
"pr22393-3-static" \
"pass.out" \
@@ -1572,7 +1577,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr22791-2" \
"-pie -Wl,--no-as-needed tmpdir/pr22791-2.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22791-2c.s } \
"pr22791-2" \
"pass.out" \
@@ -1581,7 +1586,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr22842" \
"-pie -Wl,--no-as-needed tmpdir/pr22842.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr22842b.S } \
"pr22842" \
"pass.out" \
@@ -1594,7 +1599,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build libpr19784a.so" \
"-shared -Wl,-Bsymbolic-functions" \
- "-fPIC -O2 -g" \
+ "-fPIC -O2 -g -Wa,-mx86-used-note=yes" \
{ pr19784b.c pr19784c.c } \
{} \
"libpr19784a.so" \
@@ -1602,7 +1607,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build libpr19784b.so" \
"-shared -Wl,-Bsymbolic-functions" \
- "-fPIC -O2 -g" \
+ "-fPIC -O2 -g -Wa,-mx86-used-note=yes" \
{ pr19784c.c pr19784b.c } \
{} \
"libpr19784b.so" \
@@ -1610,7 +1615,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Build pr19784a.o" \
"" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr19784a.c } \
] \
]
@@ -1619,7 +1624,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr19784a" \
"-Wl,--no-as-needed tmpdir/pr19784a.o tmpdir/libpr19784a.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr19784a" \
"pass.out" \
@@ -1627,7 +1632,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr19784b" \
"-Wl,--as-needed tmpdir/pr19784a.o tmpdir/libpr19784b.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ dummy.s } \
"pr19784b" \
"pass.out" \
@@ -1644,7 +1649,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z bndplt \
-z noseparate-code -z max-page-size=0x200000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
{{objdump {-drw} plt-main-bnd.dd}} \
"plt-main-bnd" \
@@ -1654,7 +1659,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z bndplt -pie \
-z noseparate-code -z max-page-size=0x200000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
{{objdump {-drw} plt-main-bnd.dd}} \
"plt-main-pie-bnd" \
@@ -1664,7 +1669,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z bndplt -z now \
-z noseparate-code -z max-page-size=0x200000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
{{readelf {-SW} plt-main-bnd-now.rd} {objdump {-drw} plt-main-bnd.dd}} \
"plt-main-bnd-now" \
@@ -1674,7 +1679,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z bndplt -z now -pie \
-z noseparate-code -z max-page-size=0x200000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
{{readelf {-SW} plt-main-bnd-now.rd} {objdump {-drw} plt-main-bnd.dd}} \
"plt-main-pie-bnd-now" \
@@ -1687,7 +1692,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,bndplt tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-bnd" \
"plt-main.out" \
@@ -1697,7 +1702,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,bndplt -pie tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-pie-bnd" \
"plt-main.out" \
@@ -1708,7 +1713,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,bndplt,-z,now tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-bnd-now" \
"plt-main.out" \
@@ -1718,7 +1723,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,bndplt,-z,now -pie tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-pie-bnd-now" \
"plt-main.out" \
@@ -1727,7 +1732,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr20800" \
"-Wl,-z,now -pie" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr20800a.S pr20800b.S } \
"pr20800" \
"pass.out" \
@@ -1738,7 +1743,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21481a" \
"$NOPIE_LDFLAGS -Wl,-z,bndplt" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21481a.c pr21481b.S } \
"pr21481a" \
"pass.out" \
@@ -1747,7 +1752,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21481b" \
"$NOPIE_LDFLAGS -Wl,-z,bndplt,-z,now" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21481a.c pr21481b.S } \
"pr21481b" \
"pass.out" \
@@ -1771,7 +1776,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z ibtplt \
-z noseparate-code -z max-page-size=0x200000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
$pltdump \
"plt-main-ibt" \
@@ -1781,7 +1786,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z ibtplt -pie \
-z noseparate-code -z max-page-size=0x200000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
$pltdump \
"plt-main-pie-ibt" \
@@ -1791,7 +1796,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z ibtplt -z now \
-z noseparate-code -z max-page-size=0x200000" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
$pltsecdump \
"plt-main-ibt-now" \
@@ -1801,7 +1806,7 @@ if { [isnative] && [which $CC] != 0 } {
"tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so -z ibtplt -z now -pie \
-z noseparate-code -z max-page-size=0x200000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
$pltsecdump \
"plt-main-pie-ibt-now" \
@@ -1810,7 +1815,7 @@ if { [isnative] && [which $CC] != 0 } {
"Build libibtplt-lib.so with -z ibtplt" \
"-shared -z ibtplt \
-z noseparate-code -z max-page-size=0x200000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-main1.c plt-main2.c plt-main3.c plt-main4.c} \
$pltdump \
"libibtplt-lib.so" \
@@ -1819,7 +1824,7 @@ if { [isnative] && [which $CC] != 0 } {
"Build libibtplt--now-lib.so with -z ibtplt -z now" \
"-shared -z ibtplt -z now \
-z noseparate-code -z max-page-size=0x200000" \
- "-fPIC" \
+ "-fPIC -Wa,-mx86-used-note=yes" \
{ plt-main1.c plt-main2.c plt-main3.c plt-main4.c} \
$pltdump \
"libibtplt-now-lib.so" \
@@ -1832,7 +1837,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,ibtplt tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-ibt" \
"plt-main.out" \
@@ -1842,7 +1847,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,ibtplt -pie tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-pie-ibt" \
"plt-main.out" \
@@ -1853,7 +1858,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,ibtplt,-z,now tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-ibt-now" \
"plt-main.out" \
@@ -1863,7 +1868,7 @@ if { [isnative] && [which $CC] != 0 } {
"-Wl,--no-as-needed,-z,ibtplt,-z,now -pie tmpdir/plt-main1.o \
tmpdir/plt-main2.o tmpdir/plt-main3.o \
tmpdir/plt-main4.o tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-pie-ibt-now" \
"plt-main.out" \
@@ -1873,7 +1878,7 @@ if { [isnative] && [which $CC] != 0 } {
"Run plt-main with libibtplt-lib.so -z ibtplt" \
"-Wl,--no-as-needed,-z,ibtplt tmpdir/libibtplt-lib.so \
tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-ibt-lib" \
"plt-main.out" \
@@ -1882,7 +1887,7 @@ if { [isnative] && [which $CC] != 0 } {
"Run plt-main with libibtplt-lib.so -z ibtplt -z now" \
"-Wl,--no-as-needed,-z,ibtplt,-z,now \
tmpdir/libibtplt-now-lib.so tmpdir/libplt-lib.so" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ plt-main5.c } \
"plt-main-ibt-now-lib" \
"plt-main.out" \
@@ -1894,7 +1899,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21481a" \
"$NOPIE_LDFLAGS -Wl,-z,ibtplt" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21481a.c pr21481b.S } \
"pr21481a" \
"pass.out" \
@@ -1903,7 +1908,7 @@ if { [isnative] && [which $CC] != 0 } {
[list \
"Run pr21481b" \
"$NOPIE_LDFLAGS -Wl,-z,ibtplt,-z,now" \
- "" \
+ "-Wa,-mx86-used-note=yes" \
{ pr21481a.c pr21481b.S } \
"pr21481b" \
"pass.out" \
@@ -1921,6 +1926,7 @@ if { [isnative] && [which $CC] != 0 } {
}

if { ![istarget "x86_64-*-linux*"]} {
+ set ASFLAGS "$saved_ASFLAGS"
return
}

@@ -1939,7 +1945,7 @@ run_ld_link_tests [list \
"Build pr21626.so" \
"-shared -melf_x86_64" \
"" \
- "--64 -defsym __64_bit__=1" \
+ "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \
{property-x86-3.s} \
"" \
"pr21626.so" \
@@ -1948,7 +1954,7 @@ run_ld_link_tests [list \
"Build pr21626" \
"-melf_x86_64 tmpdir/pr21626.so" \
"" \
- "--64" \
+ "--64 -mx86-used-note=yes" \
{start.s foo.s} \
"" \
"pr21626" \
@@ -1991,3 +1997,5 @@ run_dump_test "ibt-plt-3a-x32"
run_dump_test "ibt-plt-3b-x32"
run_dump_test "ibt-plt-3c-x32"
run_dump_test "ibt-plt-3d-x32"
+
+set ASFLAGS "$saved_ASFLAGS"
--
2.17.1
Loading...