x86: Add GC testcases with property sections
Verify that debug section is removed by garbage collection when there is a .note.gnu.property section. * testsuite/ld-i386/i386.exp: Run property-x86-4a and property-x86-4b. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-i386/property-x86-4a.d: New file. * testsuite/ld-i386/property-x86-4a.s: Likewise. * testsuite/ld-i386/property-x86-4b.d: Likewise. * testsuite/ld-i386/property-x86-4b.s: Likewise. * testsuite/ld-x86-64/property-x86-4a.d: Likewise. * testsuite/ld-x86-64/property-x86-4a.s: Likewise. * testsuite/ld-x86-64/property-x86-4b.d: Likewise. * testsuite/ld-x86-64/property-x86-4b.s: Likewise.
This commit is contained in:
parent
ae0264a647
commit
92f7d783c1
14
ld/ChangeLog
14
ld/ChangeLog
@ -1,3 +1,17 @@
|
||||
2017-05-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* testsuite/ld-i386/i386.exp: Run property-x86-4a and
|
||||
property-x86-4b.
|
||||
* testsuite/ld-x86-64/x86-64.exp: Likewise.
|
||||
* testsuite/ld-i386/property-x86-4a.d: New file.
|
||||
* testsuite/ld-i386/property-x86-4a.s: Likewise.
|
||||
* testsuite/ld-i386/property-x86-4b.d: Likewise.
|
||||
* testsuite/ld-i386/property-x86-4b.s: Likewise.
|
||||
* testsuite/ld-x86-64/property-x86-4a.d: Likewise.
|
||||
* testsuite/ld-x86-64/property-x86-4a.s: Likewise.
|
||||
* testsuite/ld-x86-64/property-x86-4b.d: Likewise.
|
||||
* testsuite/ld-x86-64/property-x86-4b.s: Likewise.
|
||||
|
||||
2017-05-19 Georg-Johann Lay <avr@gjlay.de>
|
||||
|
||||
PR ld/21472
|
||||
|
@ -418,6 +418,8 @@ run_dump_test "pr20253-4c"
|
||||
run_dump_test "pr20253-5"
|
||||
run_dump_test "pr20515"
|
||||
run_dump_test "property-x86-3"
|
||||
run_dump_test "property-x86-4a"
|
||||
run_dump_test "property-x86-4b"
|
||||
|
||||
if { !([istarget "i?86-*-linux*"]
|
||||
|| [istarget "i?86-*-gnu*"]
|
||||
|
10
ld/testsuite/ld-i386/property-x86-4a.d
Normal file
10
ld/testsuite/ld-i386/property-x86-4a.d
Normal file
@ -0,0 +1,10 @@
|
||||
#source: property-x86-4a.s
|
||||
#source: property-x86-4b.s
|
||||
#as: --32
|
||||
#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
|
||||
Properties: no copy on protected
|
5
ld/testsuite/ld-i386/property-x86-4a.s
Normal file
5
ld/testsuite/ld-i386/property-x86-4a.s
Normal file
@ -0,0 +1,5 @@
|
||||
.text
|
||||
.globl main
|
||||
.type main, @function
|
||||
main:
|
||||
ret
|
10
ld/testsuite/ld-i386/property-x86-4b.d
Normal file
10
ld/testsuite/ld-i386/property-x86-4b.d
Normal file
@ -0,0 +1,10 @@
|
||||
#source: property-x86-4a.s
|
||||
#source: property-x86-4b.s
|
||||
#as: --32
|
||||
#ld: -m elf_i386 --gc-sections --entry=main
|
||||
#readelf: -S --wide
|
||||
|
||||
#failif
|
||||
#...
|
||||
+\[ [0-9]\] .debug_info.*
|
||||
#...
|
20
ld/testsuite/ld-i386/property-x86-4b.s
Normal file
20
ld/testsuite/ld-i386/property-x86-4b.s
Normal file
@ -0,0 +1,20 @@
|
||||
.section .debug_info,"",@progbits
|
||||
.hidden t.c.4903c230
|
||||
.globl t.c.4903c230
|
||||
t.c.4903c230:
|
||||
.byte 0x28
|
||||
|
||||
.section ".note.gnu.property", "a"
|
||||
.p2align 2
|
||||
.long 1f - 0f /* name length. */
|
||||
.long 3f - 2f /* data length. */
|
||||
/* NT_GNU_PROPERTY_TYPE_0 */
|
||||
.long 5 /* note type. */
|
||||
0: .asciz "GNU" /* vendor name. */
|
||||
1: .p2align 2
|
||||
2:
|
||||
/* GNU_PROPERTY_NO_COPY_ON_PROTECTED */
|
||||
.long 2 /* pr_type. */
|
||||
.long 0 /* pr_datasz. */
|
||||
.p2align 2
|
||||
3:
|
10
ld/testsuite/ld-x86-64/property-x86-4a.d
Normal file
10
ld/testsuite/ld-x86-64/property-x86-4a.d
Normal file
@ -0,0 +1,10 @@
|
||||
#source: property-x86-4a.s
|
||||
#source: property-x86-4b.s
|
||||
#as: --64
|
||||
#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
|
||||
Properties: no copy on protected
|
5
ld/testsuite/ld-x86-64/property-x86-4a.s
Normal file
5
ld/testsuite/ld-x86-64/property-x86-4a.s
Normal file
@ -0,0 +1,5 @@
|
||||
.text
|
||||
.globl main
|
||||
.type main, @function
|
||||
main:
|
||||
ret
|
10
ld/testsuite/ld-x86-64/property-x86-4b.d
Normal file
10
ld/testsuite/ld-x86-64/property-x86-4b.d
Normal file
@ -0,0 +1,10 @@
|
||||
#source: property-x86-4a.s
|
||||
#source: property-x86-4b.s
|
||||
#as: --64
|
||||
#ld: -m elf_x86_64 --gc-sections --entry=main
|
||||
#readelf: -S --wide
|
||||
|
||||
#failif
|
||||
#...
|
||||
+\[ [0-9]\] .debug_info.*
|
||||
#...
|
20
ld/testsuite/ld-x86-64/property-x86-4b.s
Normal file
20
ld/testsuite/ld-x86-64/property-x86-4b.s
Normal file
@ -0,0 +1,20 @@
|
||||
.section .debug_info,"",@progbits
|
||||
.hidden t.c.4903c230
|
||||
.globl t.c.4903c230
|
||||
t.c.4903c230:
|
||||
.byte 0x28
|
||||
|
||||
.section ".note.gnu.property", "a"
|
||||
.p2align 3
|
||||
.long 1f - 0f /* name length. */
|
||||
.long 3f - 2f /* data length. */
|
||||
/* NT_GNU_PROPERTY_TYPE_0 */
|
||||
.long 5 /* note type. */
|
||||
0: .asciz "GNU" /* vendor name. */
|
||||
1: .p2align 3
|
||||
2:
|
||||
/* GNU_PROPERTY_NO_COPY_ON_PROTECTED */
|
||||
.long 2 /* pr_type. */
|
||||
.long 0 /* pr_datasz. */
|
||||
.p2align 3
|
||||
3:
|
@ -330,6 +330,8 @@ run_dump_test "pr19969"
|
||||
run_dump_test "pr20093-1"
|
||||
run_dump_test "pr20093-2"
|
||||
run_dump_test "property-x86-3"
|
||||
run_dump_test "property-x86-4a"
|
||||
run_dump_test "property-x86-4b"
|
||||
|
||||
if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} {
|
||||
return
|
||||
|
Loading…
x
Reference in New Issue
Block a user