Home | History | Annotate | Download | only in ld-arm
      1 	.syntax unified
      2 	.arch armv6t2
      3 
      4 	.macro	define,name,type
      5 	.type	\name,%gnu_indirect_function
      6 	\type
      7 \name:
      8 	mov	pc,lr
      9 	.size	\name,.-\name
     10 	.endm
     11 
     12 	.macro	test_relocs,name,width
     13 	bl\width \name
     14 	b\width \name
     15 	beq\width \name
     16 	ldr	r4,1f
     17 	ldr	r4,2f
     18 1:
     19 	.word	\name(GOT)
     20 2:
     21 	.word	\name(GOT_PREL)
     22 	.endm
     23 
     24 	.global	f1
     25 	.global	f2
     26 
     27 	.global	f3
     28 	.global	f4
     29 	.hidden	f3
     30 	.hidden	f4
     31 
     32 	define	f1,.arm
     33 	define	f2,.thumb_func
     34 	define	f3,.arm
     35 	define	f4,.thumb_func
     36 
     37 	.globl	_start
     38 	.type	_start,%function
     39 	.arm
     40 _start:
     41 	test_relocs foo
     42 	test_relocs f1,
     43 	test_relocs f2,
     44 	.size	_start,.-_start
     45 
     46 	.globl	_thumb
     47 	.type	_thumb,%function
     48 	.thumb_func
     49 _thumb:
     50 	test_relocs foo
     51 	test_relocs f3,.w
     52 	test_relocs f4,.w
     53 	.size	_thumb,.-_thumb
     54 
     55 	.data
     56 foo:
     57 	.word	0x11223344
     58 	.word	__irel_start
     59 	.word	__irel_end
     60