diff options
Diffstat (limited to 'ld/testsuite/ld-i386')
-rw-r--r-- | ld/testsuite/ld-i386/i386.exp | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/pr22929.d | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-i386/pr22929.s | 21 |
3 files changed, 33 insertions, 0 deletions
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp index 240850a..243c0a5 100644 --- a/ld/testsuite/ld-i386/i386.exp +++ b/ld/testsuite/ld-i386/i386.exp @@ -459,6 +459,7 @@ run_dump_test "pr22115-1c" run_dump_test "pr22115-1d" run_dump_test "pr22135" run_dump_test "pr22782" +run_dump_test "pr22929" if { !([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"] diff --git a/ld/testsuite/ld-i386/pr22929.d b/ld/testsuite/ld-i386/pr22929.d new file mode 100644 index 0000000..099880e --- /dev/null +++ b/ld/testsuite/ld-i386/pr22929.d @@ -0,0 +1,11 @@ +#as: --32 +#ld: -melf_i386 -shared +#readelf: -r --wide -s + +There are no relocations in this file. +#... +Symbol table '.symtab' contains [0-9]+ entries: + Num: Value Size Type Bind Vis Ndx Name +#... +[ \t]+[a-f0-9]+: [a-f0-9]+ +1 IFUNC +GLOBAL DEFAULT +[a-f0-9]+ +foo +#... diff --git a/ld/testsuite/ld-i386/pr22929.s b/ld/testsuite/ld-i386/pr22929.s new file mode 100644 index 0000000..3fa3dc9 --- /dev/null +++ b/ld/testsuite/ld-i386/pr22929.s @@ -0,0 +1,21 @@ + .text + .globl foo + .type foo, %gnu_indirect_function +foo: + ret + .size foo, .-foo + .pushsection .gnu.build.attributes, "", %note + .dc.l 6 # size of name + .dc.l 16 # descsz = sizeof (addresses) + .dc.l 0x101 # type = FUNC + .dc.b 0x47, 0x41, 0x2a, 0x2, 0, 0 # name (numeric: -fstack-protector status) + .dc.b 0, 0 # Padding + .dc.a foo + .dc.a foo_end # description (symbol name) + .popsection + +foo_end: + .section .rodata.cst4,"aM",@progbits,4 + .align 4 +.LC0: + .long 1065353216 |