diff options
Diffstat (limited to 'ld/testsuite/ld-x86-64')
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868a-x32.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868a.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868a.l | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868a.s | 60 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868b-x32.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868b.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868b.l | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868b.s | 60 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868c-x32.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868c.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/pr31868c.l | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-x86-64/x86-64.exp | 6 |
12 files changed, 206 insertions, 0 deletions
diff --git a/ld/testsuite/ld-x86-64/pr31868a-x32.d b/ld/testsuite/ld-x86-64/pr31868a-x32.d new file mode 100644 index 0000000..90f16ee --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868a-x32.d @@ -0,0 +1,12 @@ +#source: pr31868a.s +#source: pr31868b.s +#as: --x32 +#warning_output: pr31868a.l +#ld: -r -m elf32_x86_64 -z isa-level-report=all +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> + x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4, <unknown: 10>, <unknown: 40> diff --git a/ld/testsuite/ld-x86-64/pr31868a.d b/ld/testsuite/ld-x86-64/pr31868a.d new file mode 100644 index 0000000..54839bb --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868a.d @@ -0,0 +1,12 @@ +#source: pr31868a.s +#source: pr31868b.s +#as: --64 -defsym __64_bit__=1 +#warning_output: pr31868a.l +#ld: -r -m elf_x86_64 -z isa-level-report=all +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> + x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4, <unknown: 10>, <unknown: 40> diff --git a/ld/testsuite/ld-x86-64/pr31868a.l b/ld/testsuite/ld-x86-64/pr31868a.l new file mode 100644 index 0000000..1244dfd --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868a.l @@ -0,0 +1,4 @@ +tmpdir/pr31868a.o: x86 ISA needed: x86-64-baseline, x86-64-v3, <unknown: 10>, <unknown: 20> +tmpdir/pr31868a.o: x86 ISA used: x86-64-v3, x86-64-v4, <unknown: 40> +tmpdir/pr31868b.o: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3 +tmpdir/pr31868b.o: x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v4, <unknown: 10> diff --git a/ld/testsuite/ld-x86-64/pr31868a.s b/ld/testsuite/ld-x86-64/pr31868a.s new file mode 100644 index 0000000..e39405b --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868a.s @@ -0,0 +1,60 @@ + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length. */ + .long 4f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ + .long 5 /* note type. */ +0: + .asciz "GNU" /* vendor name. */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_ISA_1_USED */ + .long 0xc0010002 /* pr_type. */ + .long 3f - 2f /* pr_datasz. */ +2: + .long 0x4c +3: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +4: + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length. */ + .long 4f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ + .long 5 /* note type. */ +0: + .asciz "GNU" /* vendor name. */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_ISA_1_NEEDED */ + .long 0xc0008002 /* pr_type. */ + .long 3f - 2f /* pr_datasz. */ +2: + .long 0x35 +3: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +4: diff --git a/ld/testsuite/ld-x86-64/pr31868b-x32.d b/ld/testsuite/ld-x86-64/pr31868b-x32.d new file mode 100644 index 0000000..d88efce --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868b-x32.d @@ -0,0 +1,12 @@ +#source: pr31868a.s +#source: pr31868b.s +#as: --x32 +#warning_output: pr31868b.l +#ld: -r -m elf32_x86_64 -z isa-level-report=needed +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> + x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4, <unknown: 10>, <unknown: 40> diff --git a/ld/testsuite/ld-x86-64/pr31868b.d b/ld/testsuite/ld-x86-64/pr31868b.d new file mode 100644 index 0000000..6ead70e --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868b.d @@ -0,0 +1,12 @@ +#source: pr31868a.s +#source: pr31868b.s +#as: --64 -defsym __64_bit__=1 +#warning_output: pr31868b.l +#ld: -r -m elf_x86_64 -z isa-level-report=needed +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> + x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4, <unknown: 10>, <unknown: 40> diff --git a/ld/testsuite/ld-x86-64/pr31868b.l b/ld/testsuite/ld-x86-64/pr31868b.l new file mode 100644 index 0000000..1380bef --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868b.l @@ -0,0 +1,2 @@ +tmpdir/pr31868a.o: x86 ISA needed: x86-64-baseline, x86-64-v3, <unknown: 10>, <unknown: 20> +tmpdir/pr31868b.o: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3 diff --git a/ld/testsuite/ld-x86-64/pr31868b.s b/ld/testsuite/ld-x86-64/pr31868b.s new file mode 100644 index 0000000..afa529e --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868b.s @@ -0,0 +1,60 @@ + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length. */ + .long 4f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ + .long 5 /* note type. */ +0: + .asciz "GNU" /* vendor name. */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_ISA_1_NEEDED */ + .long 0xc0008002 /* pr_type. */ + .long 3f - 2f /* pr_datasz. */ +2: + .long 0x7 +3: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +4: + .section ".note.gnu.property", "a" +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + .long 1f - 0f /* name length. */ + .long 4f - 1f /* data length. */ + /* NT_GNU_PROPERTY_TYPE_0 */ + .long 5 /* note type. */ +0: + .asciz "GNU" /* vendor name. */ +1: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif + /* GNU_PROPERTY_X86_ISA_1_USED */ + .long 0xc0010002 /* pr_type. */ + .long 3f - 2f /* pr_datasz. */ +2: + .long 0x1b +3: +.ifdef __64_bit__ + .p2align 3 +.else + .p2align 2 +.endif +4: diff --git a/ld/testsuite/ld-x86-64/pr31868c-x32.d b/ld/testsuite/ld-x86-64/pr31868c-x32.d new file mode 100644 index 0000000..a38afd5 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868c-x32.d @@ -0,0 +1,12 @@ +#source: pr31868a.s +#source: pr31868b.s +#as: --x32 +#warning_output: pr31868c.l +#ld: -r -m elf32_x86_64 -z isa-level-report=used +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> + x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4, <unknown: 10>, <unknown: 40> diff --git a/ld/testsuite/ld-x86-64/pr31868c.d b/ld/testsuite/ld-x86-64/pr31868c.d new file mode 100644 index 0000000..3e6a65d --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868c.d @@ -0,0 +1,12 @@ +#source: pr31868a.s +#source: pr31868b.s +#as: --64 -defsym __64_bit__=1 +#warning_output: pr31868c.l +#ld: -r -m elf_x86_64 -z isa-level-report=used +#readelf: -n + +Displaying notes found in: .note.gnu.property +[ ]+Owner[ ]+Data size[ ]+Description + GNU 0x00000020 NT_GNU_PROPERTY_TYPE_0 + Properties: x86 ISA needed: x86-64-baseline, x86-64-v2, x86-64-v3, <unknown: 10>, <unknown: 20> + x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v3, x86-64-v4, <unknown: 10>, <unknown: 40> diff --git a/ld/testsuite/ld-x86-64/pr31868c.l b/ld/testsuite/ld-x86-64/pr31868c.l new file mode 100644 index 0000000..7de0be6 --- /dev/null +++ b/ld/testsuite/ld-x86-64/pr31868c.l @@ -0,0 +1,2 @@ +tmpdir/pr31868a.o: x86 ISA used: x86-64-v3, x86-64-v4, <unknown: 40> +tmpdir/pr31868b.o: x86 ISA used: x86-64-baseline, x86-64-v2, x86-64-v4, <unknown: 10> diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp index 6546fff..dddac43 100644 --- a/ld/testsuite/ld-x86-64/x86-64.exp +++ b/ld/testsuite/ld-x86-64/x86-64.exp @@ -531,6 +531,12 @@ run_dump_test "dt-relr-1b-x32" run_dump_test "pr30787" run_dump_test "pr31047" run_dump_test "pr31047-x32" +run_dump_test "pr31868a" +run_dump_test "pr31868a-x32" +run_dump_test "pr31868b" +run_dump_test "pr31868b-x32" +run_dump_test "pr31868c" +run_dump_test "pr31868c-x32" if { ![skip_sframe_tests] } { run_dump_test "sframe-simple-1" |