1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#objdump: -dr
#name: TLS
# This test is only valid on ELF based ports.
#notarget: *-*-pe *-*-wince
# VxWorks needs a special variant of this file.
#skip: *-*-vxworks*
# Test generation of TLS relocations
.*: +file format .*arm.*
Disassembly of section .text:
0+00 <arm_fn>:
0: e1a00000 nop ; .*
0: R_ARM_TLS_DESCSEQ af
4: e59f0014 ldr r0, \[pc, #20\] ; 20 .*
8: fa000000 blx 8 <ae.*>
8: R_ARM_TLS_CALL ae
c: e1a00000 nop ; .*
0+10 <.arm_pool>:
10: 00000008 .word 0x00000008
10: R_ARM_TLS_GD32 aa
14: 0000000c .word 0x0000000c
14: R_ARM_TLS_LDM32 ab
18: 00000010 .word 0x00000010
18: R_ARM_TLS_IE32 ac
1c: 00000000 .word 0x00000000
1c: R_ARM_TLS_LE32 ad
20: 00000018 .word 0x00000018
20: R_ARM_TLS_GOTDESC ae
0+24 <thumb_fn>:
24: 46c0 nop ; .*
26: 46c0 nop ; .*
26: R_ARM_THM_TLS_DESCSEQ tf
28: 4805 ldr r0, \[pc, #20\] ; \(40 .*\)
2a: f000 e800 blx 4 <te.*>
2a: R_ARM_THM_TLS_CALL te
2e: 46c0 nop ; .*
30: 00000002 .word 0x00000002
30: R_ARM_TLS_GD32 ta
34: 00000006 .word 0x00000006
34: R_ARM_TLS_LDM32 tb
38: 0000000a .word 0x0000000a
38: R_ARM_TLS_IE32 tc
3c: 00000000 .word 0x00000000
3c: R_ARM_TLS_LE32 td
40: 00000017 .word 0x00000017
40: R_ARM_TLS_GOTDESC te
0+44 <foo>:
44: fffffff4 .word 0xfffffff4
44: R_ARM_TLS_LE32 tbase
48: fffffff8 .word 0xfffffff8
48: R_ARM_TLS_LE32 tbase
4c: fffffffc .word 0xfffffffc
4c: R_ARM_TLS_LE32 tbase
50: 00000000 .word 0x00000000
50: R_ARM_TLS_LE32 tbase
54: 00000004 .word 0x00000004
54: R_ARM_TLS_LE32 tbase
58: 00000008 .word 0x00000008
58: R_ARM_TLS_LE32 tbase
5c: 0000000c .word 0x0000000c
5c: R_ARM_TLS_LE32 tbase
60: 00000000 .word 0x00000000
60: R_ARM_TLS_LE32 tbase
#pass
|