5c98a14e1e
64-bit -mcmodel=large -fpic TLS GD and LD sequences. (elf_x86_64_relocate_section): Handle -mcmodel=large -fpic TLS GD and LD sequences in GD->LE, GD->IE and LD->LE transitions. ld/testsuite/ * ld-x86-64/x86-64.exp: Add tlsld3, tlsgd7 and tlsgd8 tests. * ld-x86-64/tlspic1.s: Add -mcmodel=large -fpic TLS GD and LD sequences. * ld-x86-64/tlspic.dd: Adjusted. * ld-x86-64/tlspic.rd: Adjusted. * ld-x86-64/tlspic-nacl.rd: Adjusted. * ld-x86-64/tlsld3.dd: New test. * ld-x86-64/tlsld3.s: New file. * ld-x86-64/tlsgd7.dd: New test. * ld-x86-64/tlsgd7.s: New file. * ld-x86-64/tlsgd8.dd: New test. * ld-x86-64/tlsgd8.s: New file.
23 lines
899 B
Text
23 lines
899 B
Text
#source: tlsgd8.s
|
|
#as: --64
|
|
#ld: -melf_x86_64 tmpdir/tlsgd8
|
|
#objdump: -drwj.text
|
|
#target: x86_64-*-linux* x86_64-*-nacl*
|
|
|
|
.*: +file format .*
|
|
|
|
Disassembly of section .text:
|
|
|
|
[a-f0-9]+ <_start>:
|
|
[ ]*[a-f0-9]+: 49 bb ([0-9a-f]{2} ){8} movabs \$0x[0-9a-f]+,%r11
|
|
[ ]*[a-f0-9]+: 53 push %rbx
|
|
[ ]*[a-f0-9]+: 53 push %rbx
|
|
[ ]*[a-f0-9]+: 48 8d 1d ed ff ff ff lea -0x13\(%rip\),%rbx # [0-9a-f]+ <_start>
|
|
[ ]*[a-f0-9]+: 4c 01 db add %r11,%rbx
|
|
[ ]*[a-f0-9]+: 64 48 8b 04 25 00 00 00 00 mov %fs:0x0,%rax
|
|
[ ]*[a-f0-9]+: 48 03 05 ([0-9a-f]{2} ){4} add 0x[0-9a-f]+\(%rip\),%rax # [0-9a-f]+ <_DYNAMIC\+0x140>
|
|
[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
|
|
[ ]*[a-f0-9]+: 5b pop %rbx
|
|
[ ]*[a-f0-9]+: 5b pop %rbx
|
|
[ ]*[a-f0-9]+: c3 retq
|
|
#pass
|