* ld-i386/combreloc.s: New test.

* ld-i386/combreloc.d: New test.
	* ld-i386/i386.exp (i386tests): Add it.
This commit is contained in:
Jakub Jelinek 2002-10-10 07:49:11 +00:00
parent 967c0d836c
commit 2030e6d786
4 changed files with 48 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2002-10-10 Jakub Jelinek <jakub@redhat.com>
* ld-i386/combreloc.s: New test.
* ld-i386/combreloc.d: New test.
* ld-i386/i386.exp (i386tests): Add it.
2002-10-10 Alan Modra <amodra@bigpond.net.au>
* ld-i386/i386.exp (reloc): Turn off combreloc.

View File

@ -0,0 +1,18 @@
# Test that orphan reloc sections are merged into .rel.dyn with
# -z combreloc.
#source: combreloc.s
#as: --32
#ld: -shared -melf_i386 -z combreloc
#readelf: -r
#target: i?86-*-*
Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
Offset Info Type Sym.Value Sym. Name
[0-9a-f]+ [0-9a-f]+01 R_386_32 [0-9a-f]+ _start
[0-9a-f]+ [0-9a-f]+01 R_386_32 [0-9a-f]+ _start
[0-9a-f]+ [0-9a-f]+01 R_386_32 [0-9a-f]+ _start
[0-9a-f]+ [0-9a-f]+06 R_386_GLOB_DAT [0-9a-f]+ _start
Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym.Value Sym. Name
[0-9a-f]+ [0-9a-f]+07 R_386_JUMP_SLOT [0-9a-f]+ foo

View File

@ -0,0 +1,22 @@
.text
.globl _start, foo
.type _start,@function
_start:
pushl %ebp
movl %esp, %ebp
pushl %ebx
call 1f
1: popl %ebx
addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
movl _start@GOT(%ebx), %eax
movl (%eax), %eax
call foo@PLT
movl (%esp), %ebx
leave
foo: ret
.data
.long _start
.section "__libc_subfreeres", "aw", @progbits
.long _start
.section "__libc_atexit", "aw", @progbits
.long _start

View File

@ -59,6 +59,8 @@ set i386tests {
{{objdump -drj.text tlsindntpoff.dd}} "tlsindntpoff"}
{"Reloc section order" "-shared -melf_i386 -z nocombreloc" "--32"
{reloc.s} {{objdump -hw reloc.d}} "reloc.so"}
{"-z combreloc relocation sections" "-shared -melf_i386 -z combreloc"
"--32" {combreloc.s} {{readelf -r combreloc.d}} "combreloc.so"}
}
run_ld_link_tests $i386tests