diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-12-16 04:01:31 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2023-12-16 14:25:56 +0100 |
commit | 89f7d59843abd61f71af098deac2f14f955a7abb (patch) | |
tree | 2c6e744391859776b8e1f8198356cd08f5b3dda5 | |
parent | Gold/MIPS: Add targ_extra_size=64 for mips32 triples (diff) | |
download | binutils-gdb-89f7d59843abd61f71af098deac2f14f955a7abb.tar.gz binutils-gdb-89f7d59843abd61f71af098deac2f14f955a7abb.tar.bz2 binutils-gdb-89f7d59843abd61f71af098deac2f14f955a7abb.zip |
ld/x86: reduce testsuite dependency on system object files
PR ld/30722
Tests looking for certain .note-section recorded properties may not
involve object files from the underlying platform (e.g. via using the C
compiler for linking): Such object files may themselves have similar
note sections, and hence they may influence the overall outcome.
For now convert just the tests known to be affected by crt*.o coming
with "ISA v3 needed" notes. Eventually other tests ought to be
converted, too.
(cherry picked from commit eab996435fe65a421541f59557c5f1fd427573a3)
-rw-r--r-- | ld/testsuite/ld-x86-64/property-stk.s | 25 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/property-x86-1.s (renamed from ld/testsuite/ld-x86-64/property-x86-1.S) | 15 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/property-x86-2.s (renamed from ld/testsuite/ld-x86-64/property-x86-2.S) | 15 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/x86-64.exp | 170 |
4 files changed, 131 insertions, 94 deletions
diff --git a/ld/testsuite/ld-x86-64/property-stk.s b/ld/testsuite/ld-x86-64/property-stk.s new file mode 100644 index 00000000000..b3c7c4ee7af --- /dev/null +++ b/ld/testsuite/ld-x86-64/property-stk.s @@ -0,0 +1,25 @@ + .ifdef __64_bit__ + .equ ALIGN, 3 + .else + .equ ALIGN, 2 + .endif + + .section ".note.gnu.property", "a" + .p2align ALIGN + .long 1f - 0f /* name length. */ + .long 3f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ + .long 5 /* note type. */ +0: + .asciz "GNU" /* vendor name. */ +1: + .p2align ALIGN + /* GNU_PROPERTY_STACK_SIZE */ + .long 1 /* pr_type. */ + .long 5f - 4f /* pr_datasz. */ +4: + .dc.a 0x800000 /* Stack size. */ +5: + .p2align ALIGN +3: + .section .note.GNU-stack diff --git a/ld/testsuite/ld-x86-64/property-x86-1.S b/ld/testsuite/ld-x86-64/property-x86-1.s index 6d1d8fbaef5..3e3f707bacc 100644 --- a/ld/testsuite/ld-x86-64/property-x86-1.S +++ b/ld/testsuite/ld-x86-64/property-x86-1.s @@ -1,8 +1,9 @@ -#ifdef __LP64__ -# define ALIGN 3 -#else -# define ALIGN 2 -#endif + .ifdef __64_bit__ + .equ ALIGN, 3 + .else + .equ ALIGN, 2 + .endif + .section ".note.gnu.property", "a" .p2align ALIGN .long 1f - 0f /* name length. */ @@ -24,14 +25,14 @@ .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: - .long 0xa + .long 0xa /* GNU_PROPERTY_X86_ISA_1_V2 | GNU_PROPERTY_X86_ISA_1_V4 */ 5: .p2align ALIGN /* GNU_PROPERTY_X86_ISA_1_NEEDED */ .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: - .long 0x3 + .long 0x3 /* GNU_PROPERTY_X86_ISA_1_BASELINE | GNU_PROPERTY_X86_ISA_1_V2 */ 5: .p2align ALIGN 3: diff --git a/ld/testsuite/ld-x86-64/property-x86-2.S b/ld/testsuite/ld-x86-64/property-x86-2.s index 613d5b21ce7..2c3b303f7ee 100644 --- a/ld/testsuite/ld-x86-64/property-x86-2.S +++ b/ld/testsuite/ld-x86-64/property-x86-2.s @@ -1,8 +1,9 @@ -#ifdef __LP64__ -# define ALIGN 3 -#else -# define ALIGN 2 -#endif + .ifdef __64_bit__ + .equ ALIGN, 3 + .else + .equ ALIGN, 2 + .endif + .section ".note.gnu.property", "a" .p2align ALIGN .long 1f - 0f /* name length. */ @@ -17,14 +18,14 @@ .long 0xc0010002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: - .long 0x3 + .long 0x3 /* GNU_PROPERTY_X86_ISA_1_BASELINE | GNU_PROPERTY_X86_ISA_1_V2 */ 5: .p2align ALIGN /* GNU_PROPERTY_X86_ISA_1_NEEDED */ .long 0xc0008002 /* pr_type. */ .long 5f - 4f /* pr_datasz. */ 4: - .long 0xa + .long 0xa /* GNU_PROPERTY_X86_ISA_1_V2 | GNU_PROPERTY_X86_ISA_1_V4 */ 5: .p2align ALIGN 3: diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 1a10c395b5c..123152df5b0 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -1092,86 +1092,6 @@ if { [isnative] && [check_compiler_available] } { "property-2.so" \ ] \ [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" \ - ] \ - [list \ - "Build property 3 (.o)" \ - "-r -nostdlib" \ - "-Wa,-mx86-used-note=yes" \ - {pass.c property-x86-1.S property-stack.S} \ - {{readelf {-n} property-3a.r}} \ - "property-3.o" \ - ] \ - [list \ - "Build property 3 (.so)" \ - "-shared" \ - "-fPIC -Wa,-mx86-used-note=yes" \ - {property-x86-1.S pass.c property-stack.S} \ - {{readelf {-n} property-3.r}} \ - "property-3.so" \ - ] \ - [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" \ - ] \ - [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-4a.r}} \ - "property-4.o" \ - ] \ - [list \ - "Build property 4 (.so)" \ - "-shared" \ - "-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" \ - ] \ - [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" \ - ] \ - [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" \ - ] \ - [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-5a.r}} \ - "property-5.o" \ - ] \ - [list \ - "Build property 5 (.so)" \ - "-shared -Wl,-z,stack-size=0x900000" \ - "-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" \ - ] \ - [list \ "Build property-6.so" \ "-shared" \ "-fPIC -Wa,-mx86-used-note=yes" \ @@ -2179,6 +2099,96 @@ run_ld_link_tests [list \ "plt2" \ ] \ [list \ + "Build property 3" \ + "" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-stk.s property-x86-1.s} \ + {{readelf -n property-3.r}} \ + "property-3" \ + ] \ + [list \ + "Build property 3 (.o)" \ + "-r -nostdlib" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-x86-1.s property-stk.s} \ + {{readelf -n property-3a.r}} \ + "property-3.o" \ + ] \ + [list \ + "Build property 3 (.so)" \ + "-shared" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-x86-1.s property-stk.s} \ + {{readelf -n property-3.r}} \ + "property-3.so" \ + ] \ + [list \ + "Build property 4" \ + "" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-stk.s property-x86-1.s property-x86-2.s} \ + {{readelf -n property-4.r}} \ + "property-4" \ + ] \ + [list \ + "Build property 4 (.o)" \ + "-r -nostdlib" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-x86-2.s property-x86-1.s property-stk.s} \ + {{readelf {-n} property-4a.r}} \ + "property-4.o" \ + ] \ + [list \ + "Build property 4 (.so)" \ + "-shared" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-x86-2.s property-x86-1.s property-stk.s} \ + {{readelf -n property-4.r}} \ + "property-4.so" \ + ] \ + [list \ + "Build property 4 (-z stack-size=0)" \ + "-z stack-size=0" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-stk.s property-x86-1.s property-x86-2.s} \ + {{readelf -n property-4.r}} \ + "property-4" \ + ] \ + [list \ + "Build property 5" \ + "-z stack-size=0x900000" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-stk.s property-x86-1.s property-x86-2.s} \ + {{readelf -n property-5.r}} \ + "property-5" \ + ] \ + [list \ + "Build property 5 (.o)" \ + "-r -nostdlib -z stack-size=0x900000" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-x86-2.s property-x86-1.s property-stk.s} \ + {{readelf {-n} property-5a.r}} \ + "property-5.o" \ + ] \ + [list \ + "Build property 5 (.so)" \ + "-shared -z stack-size=0x900000" \ + "" \ + "--64 -defsym __64_bit__=1 -mx86-used-note=yes" \ + {property-x86-2.s property-x86-1.s property-stk.s} \ + {{readelf -n property-5.r}} \ + "property-5.so" \ + ] \ + [list \ "Build pr21626.so" \ "-shared -melf_x86_64" \ "" \ |