1 #name: Inter-section branch relocations
2 #This test is only valid on EABI based ports.
3 #target: *-*-*eabi* *-*-nacl*
4 #as: -march=armv5t
5 #objdump: -rd
6 #stderr: branch-reloc.l
7 
8 # Test the generation of relocation for inter-section branches
9 
10 .*: +file format.*arm.*
11 
12 
13 Disassembly of section .text:
14 
15 00000000 <arm_glob_sym1-0x4>:
16    0:	e1a00000 	nop			; \(mov r0, r0\)
17 
18 00000004 <arm_glob_sym1>:
19    4:	ebfffffe 	bl	46 <thumb_glob_sym1>
20 			4: R_ARM_CALL	thumb_glob_sym1
21    8:	ebfffffe 	bl	100 <thumb_glob_sym2>
22 			8: R_ARM_CALL	thumb_glob_sym2
23    c:	fa00000c 	blx	44 <thumb_sym1>
24   10:	ebfffffe 	bl	4 <arm_glob_sym1>
25 			10: R_ARM_CALL	arm_glob_sym1
26   14:	ebfffffe 	bl	13c <arm_glob_sym2>
27 			14: R_ARM_CALL	arm_glob_sym2
28   18:	eb000007 	bl	3c <arm_sym1>
29   1c:	fafffffe 	blx	46 <thumb_glob_sym1>
30 			1c: R_ARM_CALL	thumb_glob_sym1
31   20:	fafffffe 	blx	100 <thumb_glob_sym2>
32 			20: R_ARM_CALL	thumb_glob_sym2
33   24:	fa000006 	blx	44 <thumb_sym1>
34   28:	fafffffe 	blx	4 <arm_glob_sym1>
35 			28: R_ARM_CALL	arm_glob_sym1
36   2c:	fafffffe 	blx	13c <arm_glob_sym2>
37 			2c: R_ARM_CALL	arm_glob_sym2
38   30:	eb000001 	bl	3c <arm_sym1>
39   34:	e1a00000 	nop			; \(mov r0, r0\)
40   38:	e12fff1e 	bx	lr
41 
42 0000003c <arm_sym1>:
43   3c:	e1a00000 	nop			; \(mov r0, r0\)
44   40:	e12fff1e 	bx	lr
45 
46 00000044 <thumb_sym1>:
47   44:	4770      	bx	lr
48 
49 00000046 <thumb_glob_sym1>:
50   46:	4770      	bx	lr
51 
52 Disassembly of section foo:
53 
54 00000000 <thumb_glob_sym2-0x100>:
55 	...
56 
57 00000100 <thumb_glob_sym2>:
58  100:	f7ff fffe 	bl	4 <thumb_glob_sym2-0xfc>
59 			100: R_ARM_THM_CALL	arm_glob_sym1
60  104:	f7ff fffe 	bl	13c <arm_glob_sym2>
61 			104: R_ARM_THM_CALL	arm_glob_sym2
62  108:	f000 e816 	blx	138 <arm_sym2>
63  10c:	f7ff fffe 	bl	46 <thumb_glob_sym2-0xba>
64 			10c: R_ARM_THM_CALL	thumb_glob_sym1
65  110:	f7ff fffe 	bl	100 <thumb_glob_sym2>
66 			110: R_ARM_THM_CALL	thumb_glob_sym2
67  114:	f000 f80e 	bl	134 <thumb_sym2>
68  118:	f7ff effe 	blx	4 <thumb_glob_sym2-0xfc>
69 			118: R_ARM_THM_CALL	arm_glob_sym1
70  11c:	f7ff effe 	blx	13c <arm_glob_sym2>
71 			11c: R_ARM_THM_CALL	arm_glob_sym2
72  120:	f000 e80a 	blx	138 <arm_sym2>
73  124:	f7ff effe 	blx	46 <thumb_glob_sym2-0xba>
74 			124: R_ARM_THM_CALL	thumb_glob_sym1
75  128:	f7ff effe 	blx	100 <thumb_glob_sym2>
76 			128: R_ARM_THM_CALL	thumb_glob_sym2
77  12c:	f000 f802 	bl	134 <thumb_sym2>
78  130:	46c0      	nop			; \(mov r8, r8\)
79  132:	4770      	bx	lr
80 
81 00000134 <thumb_sym2>:
82  134:	46c0      	nop			; \(mov r8, r8\)
83  136:	4770      	bx	lr
84 
85 00000138 <arm_sym2>:
86  138:	e12fff1e 	bx	lr
87 
88 0000013c <arm_glob_sym2>:
89  13c:	e12fff1e 	bx	lr
90