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