1 #objdump: -dr
2 #name: D30V relocation test
3 #as:
4 
5 .*: +file format elf32-d30v
6 
7 Disassembly of section .text:
8 
9 00000000 <start>:
10        0:	88082000 80000028 	add.l	r2, r0, 0x28
11 			0: R_D30V_32	.text
12        8:	88084000 80000000 	add.l	r4, r0, 0x0
13 			8: R_D30V_32	.data
14       10:	88084000 80000006 	add.l	r4, r0, 0x6
15 			10: R_D30V_32	.data
16       18:	88084000 80000000 	add.l	r4, r0, 0x0
17 			18: R_D30V_32	unk
18       20:	80080000 80000018 	bra.l	18	\(38 <cont>\)
19 
20 00000028 <hello>:
21       28:	48656c6c 6f20576f 	.long	0x48656c6c	||	.long	0x6f20576f
22       30:	726c640a 00f00000 	.long	0x726c640a	||	nop
23 
24 00000038 <cont>:
25       38:	80180000 80000048 	jmp.l	48 <cont2>
26 			38: R_D30V_32	.text
27       40:	088020c0 00f00000 	abs	r2, r3	||	nop
28 
29 00000048 <cont2>:
30       48:	000bfff7 00f00000 	bra.s	-48	\(0 <start>\)	||	nop
31       50:	00080205 00f00000 	bra.s	1028	\(1078 <exit>\)	||	nop
32       58:	00180000 00f00000 	jmp.s	0 <start>	||	nop
33       60:	006c1ffb 00f00000 	bsrtnz.s	r1, -28	\(38 <cont>\)	||	nop
34       68:	006c1ffa 00f00000 	bsrtnz.s	r1, -30	\(38 <cont>\)	||	nop
35       70:	004c1ff9 00f00000 	bratnz.s	r1, -38	\(38 <cont>\)	||	nop
36       78:	004c1ff8 00f00000 	bratnz.s	r1, -40	\(38 <cont>\)	||	nop
37       80:	005c1007 00f00000 	jmptnz.s	r1, 38 <cont>	||	nop
38 			80: R_D30V_15	.text
39       88:	006c11f1 00f00000 	bsrtnz.s	r1, f88	\(1010 <foo>\)	||	nop
40       90:	005c1000 00f00000 	jmptnz.s	r1, 0 <start>	||	nop
41 			90: R_D30V_15	unk
42       98:	006c1000 00f00000 	bsrtnz.s	r1, 0	\(98 <cont2\+0x50>\)	||	nop
43 			98: R_D30V_15_PCREL	unk
44       a0:	805c1000 80000000 	jmptnz.l	r1, 0 <start>
45 			a0: R_D30V_32	unk
46       a8:	806c1000 80000000 	bsrtnz.l	r1, 0	\(a8 <cont2\+0x60>\)
47 			a8: R_D30V_32_PCREL	unk
48       b0:	000801ec 00f00000 	bra.s	f60	\(1010 <foo>\)	||	nop
49       b8:	80080000 80000f58 	bra.l	f58	\(1010 <foo>\)
50       c0:	000bffe8 00f00000 	bra.s	-c0	\(0 <start>\)	||	nop
51       c8:	80180000 80000000 	jmp.l	0 <start>
52 			c8: R_D30V_32	.text
53       d0:	80180000 80000000 	jmp.l	0 <start>
54 			d0: R_D30V_32	.text
55       d8:	00180000 00f00000 	jmp.s	0 <start>	||	nop
56 			d8: R_D30V_21	.text
57       e0:	00180202 00f00000 	jmp.s	1010 <foo>	||	nop
58 			e0: R_D30V_21	.text
59       e8:	000bffe3 00f00000 	bra.s	-e8	\(0 <start>\)	||	nop
60       f0:	80080000 80000000 	bra.l	0	\(f0 <cont2\+0xa8>\)
61 			f0: R_D30V_32_PCREL	unknown
62       f8:	80180000 80000000 	jmp.l	0 <start>
63 			f8: R_D30V_32	unknown
64      100:	00180000 00f00000 	jmp.s	0 <start>	||	nop
65 			100: R_D30V_21	unknown
66      108:	00080000 00f00000 	bra.s	0	\(108 <cont2\+0xc0>\)	||	nop
67 			108: R_D30V_21_PCREL	unknown
68 	...
69 
70 00001010 <foo>:
71     1010:	08001000 00f00000 	add.s	r1, r0, r0	||	nop
72     1018:	846bc000 80001070 	ld2w.l	r60, @\(r0, 0x1070\)
73 			1018: R_D30V_32	.text
74     1020:	0803e000 8028000b 	add.s	r62, r0, r0	->	bsr.s	58	\(1078 <exit>\)
75     1028:	002bfffd 00f00000 	bsr.s	-18	\(1010 <foo>\)	||	nop
76     1030:	000bfe03 00f00000 	bra.s	-fe8	\(48 <cont2>\)	||	nop
77     1038:	000bfe02 00f00000 	bra.s	-ff0	\(48 <cont2>\)	||	nop
78     1040:	00280007 00f00000 	bsr.s	38	\(1078 <exit>\)	||	nop
79     1048:	0018020f 00f00000 	jmp.s	1078 <exit>	||	nop
80 			1048: R_D30V_21	.text
81     1050:	0018020f 00f00000 	jmp.s	1078 <exit>	||	nop
82 			1050: R_D30V_21	.text
83     1058:	0018020f 00f00000 	jmp.s	1078 <exit>	||	nop
84 			1058: R_D30V_21	.text
85     1060:	80280000 80000018 	bsr.l	18	\(1078 <exit>\)
86     1068:	80180000 80001078 	jmp.l	1078 <exit>
87 			1068: R_D30V_32	.text
88 
89 00001070 <longzero>:
90 	...
91 
92 00001078 <exit>:
93     1078:	0010003e 00f00000 	jmp.s	r62	||	nop
94