Skip to content

Instantly share code, notes, and snippets.

@arichardson
Created July 17, 2017 18:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arichardson/0be4f973e3e037d0241d49856e54bc2d to your computer and use it in GitHub Desktop.
Save arichardson/0be4f973e3e037d0241d49856e54bc2d to your computer and use it in GitHub Desktop.
mips/crt1.o: file format elf64-tradbigmips
mips/crt1.o
architecture: mips:isa64r2, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x0000000000000000
private flags = 80000007: [abi=64] [mips64r2] [not 32bitmode] [noreorder] [PIC] [CPIC]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000378 0000000000000000 0000000000000000 00000040 2**4
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 .comment 0000015f 0000000000000000 0000000000000000 00000808 2**0
CONTENTS, READONLY
2 .data 00000008 0000000000000000 0000000000000000 00000970 2**4
CONTENTS, ALLOC, LOAD, RELOC, DATA
3 .bss 00000008 0000000000000000 0000000000000000 00000978 2**4
ALLOC
4 .eh_frame 00000030 0000000000000000 0000000000000000 00000978 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
5 .mdebug.abi64 00000000 0000000000000000 0000000000000000 000009c0 2**0
CONTENTS, READONLY
6 .pdr 00000040 0000000000000000 0000000000000000 000009c0 2**2
CONTENTS, RELOC, READONLY
7 .note.tag 00000030 0000000000000000 0000000000000000 00000a30 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .rodata.str1.1 00000001 0000000000000000 0000000000000000 00000a60 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
9 .MIPS.abiflags 00000018 0000000000000000 0000000000000000 00000a80 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
10 .MIPS.options 00000028 0000000000000000 0000000000000000 00000a98 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
SYMBOL TABLE:
0000000000000000 l O .note.tag 0000000000000018 abitag
0000000000000018 l O .note.tag 0000000000000018 crt_noinit_tag
00000000000002b8 l F .text 00000000000000c0 0x20 finalizer
0000000000000000 l d .text 0000000000000000 .text
0000000000000000 l d .comment 0000000000000000 .comment
0000000000000000 l d .data 0000000000000000 .data
0000000000000000 l d .bss 0000000000000000 .bss
0000000000000000 l d .eh_frame 0000000000000000 .eh_frame
0000000000000000 l d .mdebug.abi64 0000000000000000 .mdebug.abi64
0000000000000000 l d .pdr 0000000000000000 .pdr
0000000000000000 l d .note.tag 0000000000000000 .note.tag
0000000000000000 l d .rodata.str1.1 0000000000000000 .rodata.str1.1
0000000000000000 g F .text 0000000000000038 0x20 __start
0000000000000040 g F .text 0000000000000278 0x20 _start1
0000000000000000 w *UND* 0000000000000000 _DYNAMIC
0000000000000000 w *UND* 0000000000000000 .hidden __fini_array_end
0000000000000000 w *UND* 0000000000000000 .hidden __fini_array_start
0000000000000000 w *UND* 0000000000000000 .hidden __init_array_end
0000000000000000 w *UND* 0000000000000000 .hidden __init_array_start
0000000000000000 w *UND* 0000000000000000 .hidden __preinit_array_end
0000000000000000 w *UND* 0000000000000000 .hidden __preinit_array_start
0000000000000000 g O .data 0000000000000008 __progname
0000000000000000 *UND* 0000000000000000 .hidden _fini
0000000000000000 *UND* 0000000000000000 .hidden _init
0000000000000000 *UND* 0000000000000000 _init_tls
0000000000000000 *UND* 0000000000000000 atexit
0000000000000000 g O .bss 0000000000000008 environ
0000000000000000 *UND* 0000000000000000 exit
0000000000000000 *UND* 0000000000000000 main
Disassembly of section .text:
0000000000000000 <__start>:
0: 67bdffe0 daddiu sp,sp,-32
4: ffbf0018 sd ra,24(sp)
8: ffbc0008 sd gp,8(sp)
c: 3c1c0000 lui gp,0x0
c: R_MIPS_GPREL16 __start
c: R_MIPS_SUB *ABS*
c: R_MIPS_HI16 *ABS*
10: 279c0000 addiu gp,gp,0
10: R_MIPS_GPREL16 __start
10: R_MIPS_SUB *ABS*
10: R_MIPS_LO16 *ABS*
14: 0399e02d daddu gp,gp,t9
18: 3c190000 lui t9,0x0
18: R_MIPS_HIGHEST _start1
18: R_MIPS_NONE *ABS*
18: R_MIPS_NONE *ABS*
1c: 3c010000 lui at,0x0
1c: R_MIPS_HI16 _start1
1c: R_MIPS_NONE *ABS*
1c: R_MIPS_NONE *ABS*
20: 67390000 daddiu t9,t9,0
20: R_MIPS_HIGHER _start1
20: R_MIPS_NONE *ABS*
20: R_MIPS_NONE *ABS*
24: 64210000 daddiu at,at,0
24: R_MIPS_LO16 _start1
24: R_MIPS_NONE *ABS*
24: R_MIPS_NONE *ABS*
28: 0019c83c dsll32 t9,t9,0x0
2c: 0321c82d daddu t9,t9,at
30: 03200008 jr t9
34: 00000000 nop
...
0000000000000040 <_start1>:
40: 67bdffb0 daddiu sp,sp,-80
44: ffbf0048 sd ra,72(sp)
48: ffbe0040 sd s8,64(sp)
4c: ffbc0038 sd gp,56(sp)
50: ffb60030 sd s6,48(sp)
54: ffb50028 sd s5,40(sp)
58: ffb40020 sd s4,32(sp)
5c: ffb30018 sd s3,24(sp)
60: ffb20010 sd s2,16(sp)
64: ffb10008 sd s1,8(sp)
68: ffb00000 sd s0,0(sp)
6c: 03a0f025 move s8,sp
70: 3c010000 lui at,0x0
70: R_MIPS_GPREL16 _start1
70: R_MIPS_SUB *ABS*
70: R_MIPS_HI16 *ABS*
74: 0039082d daddu at,at,t9
78: 643c0000 daddiu gp,at,0
78: R_MIPS_GPREL16 _start1
78: R_MIPS_SUB *ABS*
78: R_MIPS_LO16 *ABS*
7c: dc810000 ld at,0(a0)
80: 0001103c dsll32 v0,at,0x0
84: 0002177b dsra v0,v0,0x1d
88: 0082102d daddu v0,a0,v0
8c: 64500010 daddiu s0,v0,16
90: 00019800 sll s3,at,0x0
94: 3c010000 lui at,0x0
94: R_MIPS_GOT_HI16 environ
94: R_MIPS_NONE *ABS*
94: R_MIPS_NONE *ABS*
98: 003c082d daddu at,at,gp
9c: dc220000 ld v0,0(at)
9c: R_MIPS_GOT_LO16 environ
9c: R_MIPS_NONE *ABS*
9c: R_MIPS_NONE *ABS*
a0: dc410000 ld at,0(v0)
a4: 1020001b beqz at,114 <_start1+0xd4>
a8: 00000000 nop
ac: 1a60001c blez s3,120 <_start1+0xe0>
b0: 64910008 daddiu s1,a0,8
b4: de220000 ld v0,0(s1)
b8: 10400019 beqz v0,120 <_start1+0xe0>
bc: 00000000 nop
c0: 3c010000 lui at,0x0
c0: R_MIPS_GOT_HI16 __progname
c0: R_MIPS_NONE *ABS*
c0: R_MIPS_NONE *ABS*
c4: 003c082d daddu at,at,gp
c8: dc230000 ld v1,0(at)
c8: R_MIPS_GOT_LO16 __progname
c8: R_MIPS_NONE *ABS*
c8: R_MIPS_NONE *ABS*
cc: fc620000 sd v0,0(v1)
d0: 2404002f li a0,47
d4: 90460000 lbu a2,0(v0)
d8: 14c40006 bne a2,a0,f4 <_start1+0xb4>
dc: 00000000 nop
e0: 64420001 daddiu v0,v0,1
e4: fc620000 sd v0,0(v1)
e8: 90460000 lbu a2,0(v0)
ec: 10c4fffc beq a2,a0,e0 <_start1+0xa0>
f0: 00000000 nop
f4: 10c0000a beqz a2,120 <_start1+0xe0>
f8: 00000000 nop
fc: 64420001 daddiu v0,v0,1
100: 90460000 lbu a2,0(v0)
104: 14c4fffb bne a2,a0,f4 <_start1+0xb4>
108: 00000000 nop
10c: 1000fff4 b e0 <_start1+0xa0>
110: 00000000 nop
114: fc500000 sd s0,0(v0)
118: 1e60ffe6 bgtz s3,b4 <_start1+0x74>
11c: 64910008 daddiu s1,a0,8
120: 3c010000 lui at,0x0
120: R_MIPS_GOT_HI16 _DYNAMIC
120: R_MIPS_NONE *ABS*
120: R_MIPS_NONE *ABS*
124: 003c082d daddu at,at,gp
128: dc210000 ld at,0(at)
128: R_MIPS_GOT_LO16 _DYNAMIC
128: R_MIPS_NONE *ABS*
128: R_MIPS_NONE *ABS*
12c: 10200008 beqz at,150 <_start1+0x110>
130: 00000000 nop
134: 3c010000 lui at,0x0
134: R_MIPS_CALL_HI16 atexit
134: R_MIPS_NONE *ABS*
134: R_MIPS_NONE *ABS*
138: 003c082d daddu at,at,gp
13c: dc390000 ld t9,0(at)
13c: R_MIPS_CALL_LO16 atexit
13c: R_MIPS_NONE *ABS*
13c: R_MIPS_NONE *ABS*
140: 0320f809 jalr t9
144: 00a02025 move a0,a1
148: 10000006 b 164 <_start1+0x124>
14c: 00000000 nop
150: 3c010000 lui at,0x0
150: R_MIPS_CALL_HI16 _init_tls
150: R_MIPS_NONE *ABS*
150: R_MIPS_NONE *ABS*
154: 003c082d daddu at,at,gp
158: dc390000 ld t9,0(at)
158: R_MIPS_CALL_LO16 _init_tls
158: R_MIPS_NONE *ABS*
158: R_MIPS_NONE *ABS*
15c: 0320f809 jalr t9
160: 00000000 nop
164: 3c010000 lui at,0x0
164: R_MIPS_GOT_HI16 _DYNAMIC
164: R_MIPS_NONE *ABS*
164: R_MIPS_NONE *ABS*
168: 003c082d daddu at,at,gp
16c: dc210000 ld at,0(at)
16c: R_MIPS_GOT_LO16 _DYNAMIC
16c: R_MIPS_NONE *ABS*
16c: R_MIPS_NONE *ABS*
170: 14200045 bnez at,288 <_start1+0x248>
174: 00000000 nop
178: df810040 ld at,64(gp)
178: R_MIPS_GOT_PAGE .text
178: R_MIPS_NONE *ABS*
178: R_MIPS_NONE *ABS*
17c: 64240040 daddiu a0,at,64
17c: R_MIPS_GOT_OFST .text
17c: R_MIPS_NONE *ABS*
17c: R_MIPS_NONE *ABS*
180: 3c010000 lui at,0x0
180: R_MIPS_CALL_HI16 atexit
180: R_MIPS_NONE *ABS*
180: R_MIPS_NONE *ABS*
184: 003c082d daddu at,at,gp
188: dc390000 ld t9,0(at)
188: R_MIPS_CALL_LO16 atexit
188: R_MIPS_NONE *ABS*
188: R_MIPS_NONE *ABS*
18c: 0320f809 jalr t9
190: 00000000 nop
194: 3c010000 lui at,0x0
194: R_MIPS_GOT_HI16 __preinit_array_start
194: R_MIPS_NONE *ABS*
194: R_MIPS_NONE *ABS*
198: 003c082d daddu at,at,gp
19c: dc340000 ld s4,0(at)
19c: R_MIPS_GOT_LO16 __preinit_array_start
19c: R_MIPS_NONE *ABS*
19c: R_MIPS_NONE *ABS*
1a0: 3c010000 lui at,0x0
1a0: R_MIPS_GOT_HI16 __preinit_array_end
1a0: R_MIPS_NONE *ABS*
1a0: R_MIPS_NONE *ABS*
1a4: 003c082d daddu at,at,gp
1a8: dc210000 ld at,0(at)
1a8: R_MIPS_GOT_LO16 __preinit_array_end
1a8: R_MIPS_NONE *ABS*
1a8: R_MIPS_NONE *ABS*
1ac: 0034082f dsubu at,at,s4
1b0: 000117ff dsra32 v0,at,0x1f
1b4: 0002177e dsrl32 v0,v0,0x1d
1b8: 0022082d daddu at,at,v0
1bc: 0001a8fb dsra s5,at,0x3
1c0: 0014a80a movz s5,zero,s4
1c4: 12a0000f beqz s5,204 <_start1+0x1c4>
1c8: 00000000 nop
1cc: 64160000 daddiu s6,zero,0
1d0: 00139000 sll s2,s3,0x0
1d4: de990000 ld t9,0(s4)
1d8: 2f210002 sltiu at,t9,2
1dc: 14200005 bnez at,1f4 <_start1+0x1b4>
1e0: 00000000 nop
1e4: 02402025 move a0,s2
1e8: 02202825 move a1,s1
1ec: 0320f809 jalr t9
1f0: 02003025 move a2,s0
1f4: 66d60001 daddiu s6,s6,1
1f8: 02d5082b sltu at,s6,s5
1fc: 1420fff5 bnez at,1d4 <_start1+0x194>
200: 66940008 daddiu s4,s4,8
204: 3c010000 lui at,0x0
204: R_MIPS_CALL_HI16 _init
204: R_MIPS_NONE *ABS*
204: R_MIPS_NONE *ABS*
208: 003c082d daddu at,at,gp
20c: dc390000 ld t9,0(at)
20c: R_MIPS_CALL_LO16 _init
20c: R_MIPS_NONE *ABS*
20c: R_MIPS_NONE *ABS*
210: 0320f809 jalr t9
214: 00000000 nop
218: 3c010000 lui at,0x0
218: R_MIPS_GOT_HI16 __init_array_start
218: R_MIPS_NONE *ABS*
218: R_MIPS_NONE *ABS*
21c: 003c082d daddu at,at,gp
220: dc340000 ld s4,0(at)
220: R_MIPS_GOT_LO16 __init_array_start
220: R_MIPS_NONE *ABS*
220: R_MIPS_NONE *ABS*
224: 3c010000 lui at,0x0
224: R_MIPS_GOT_HI16 __init_array_end
224: R_MIPS_NONE *ABS*
224: R_MIPS_NONE *ABS*
228: 003c082d daddu at,at,gp
22c: dc210000 ld at,0(at)
22c: R_MIPS_GOT_LO16 __init_array_end
22c: R_MIPS_NONE *ABS*
22c: R_MIPS_NONE *ABS*
230: 0034082f dsubu at,at,s4
234: 000117ff dsra32 v0,at,0x1f
238: 0002177e dsrl32 v0,v0,0x1d
23c: 0022082d daddu at,at,v0
240: 0001a8fb dsra s5,at,0x3
244: 0014a80a movz s5,zero,s4
248: 12a0000f beqz s5,288 <_start1+0x248>
24c: 00000000 nop
250: 64160000 daddiu s6,zero,0
254: 00139000 sll s2,s3,0x0
258: de990000 ld t9,0(s4)
25c: 2f210002 sltiu at,t9,2
260: 14200005 bnez at,278 <_start1+0x238>
264: 00000000 nop
268: 02402025 move a0,s2
26c: 02202825 move a1,s1
270: 0320f809 jalr t9
274: 02003025 move a2,s0
278: 66d60001 daddiu s6,s6,1
27c: 02d5082b sltu at,s6,s5
280: 1420fff5 bnez at,258 <_start1+0x218>
284: 66940008 daddiu s4,s4,8
288: 00132000 sll a0,s3,0x0
28c: 3c010000 lui at,0x0
28c: R_MIPS_CALL_HI16 main
28c: R_MIPS_NONE *ABS*
28c: R_MIPS_NONE *ABS*
290: 003c082d daddu at,at,gp
294: dc390000 ld t9,0(at)
294: R_MIPS_CALL_LO16 main
294: R_MIPS_NONE *ABS*
294: R_MIPS_NONE *ABS*
298: 02202825 move a1,s1
29c: 0320f809 jalr t9
2a0: 02003025 move a2,s0
2a4: 3c010000 lui at,0x0
2a4: R_MIPS_CALL_HI16 exit
2a4: R_MIPS_NONE *ABS*
2a4: R_MIPS_NONE *ABS*
2a8: 003c082d daddu at,at,gp
2ac: dc390000 ld t9,0(at)
2ac: R_MIPS_CALL_LO16 exit
2ac: R_MIPS_NONE *ABS*
2ac: R_MIPS_NONE *ABS*
2b0: 0320f809 jalr t9
2b4: 00022000 sll a0,v0,0x0
00000000000002b8 <finalizer>:
2b8: 67bdffd0 daddiu sp,sp,-48
2bc: ffbf0028 sd ra,40(sp)
2c0: ffbe0020 sd s8,32(sp)
2c4: ffbc0018 sd gp,24(sp)
2c8: ffb10010 sd s1,16(sp)
2cc: ffb00008 sd s0,8(sp)
2d0: 03a0f025 move s8,sp
2d4: 3c010000 lui at,0x0
2d4: R_MIPS_GPREL16 .text
2d4: R_MIPS_SUB *ABS*
2d4: R_MIPS_HI16 *ABS*
2d8: 0039082d daddu at,at,t9
2dc: 643cffc0 daddiu gp,at,-64
2dc: R_MIPS_GPREL16 .text
2dc: R_MIPS_SUB *ABS*
2dc: R_MIPS_LO16 *ABS*
2e0: 3c010000 lui at,0x0
2e0: R_MIPS_GOT_HI16 __fini_array_start
2e0: R_MIPS_NONE *ABS*
2e0: R_MIPS_NONE *ABS*
2e4: 003c082d daddu at,at,gp
2e8: dc220000 ld v0,0(at)
2e8: R_MIPS_GOT_LO16 __fini_array_start
2e8: R_MIPS_NONE *ABS*
2e8: R_MIPS_NONE *ABS*
2ec: 3c010000 lui at,0x0
2ec: R_MIPS_GOT_HI16 __fini_array_end
2ec: R_MIPS_NONE *ABS*
2ec: R_MIPS_NONE *ABS*
2f0: 003c082d daddu at,at,gp
2f4: dc210000 ld at,0(at)
2f4: R_MIPS_GOT_LO16 __fini_array_end
2f4: R_MIPS_NONE *ABS*
2f4: R_MIPS_NONE *ABS*
2f8: 0022082f dsubu at,at,v0
2fc: 00011fff dsra32 v1,at,0x1f
300: 00031f7e dsrl32 v1,v1,0x1d
304: 0023082d daddu at,at,v1
308: 000180fb dsra s0,at,0x3
30c: 0002800a movz s0,zero,v0
310: 1200000c beqz s0,344 <finalizer+0x8c>
314: 00000000 nop
318: 001008f8 dsll at,s0,0x3
31c: 0041082d daddu at,v0,at
320: 6431fff8 daddiu s1,at,-8
324: de390000 ld t9,0(s1)
328: 2f210002 sltiu at,t9,2
32c: 14200003 bnez at,33c <finalizer+0x84>
330: 6610ffff daddiu s0,s0,-1
334: 0320f809 jalr t9
338: 00000000 nop
33c: 1600fff9 bnez s0,324 <finalizer+0x6c>
340: 6631fff8 daddiu s1,s1,-8
344: 3c010000 lui at,0x0
344: R_MIPS_CALL_HI16 _fini
344: R_MIPS_NONE *ABS*
344: R_MIPS_NONE *ABS*
348: 003c082d daddu at,at,gp
34c: dc390000 ld t9,0(at)
34c: R_MIPS_CALL_LO16 _fini
34c: R_MIPS_NONE *ABS*
34c: R_MIPS_NONE *ABS*
350: 0320f809 jalr t9
354: 00000000 nop
358: 03c0e825 move sp,s8
35c: dfb00008 ld s0,8(sp)
360: dfb10010 ld s1,16(sp)
364: dfbc0018 ld gp,24(sp)
368: dfbe0020 ld s8,32(sp)
36c: dfbf0028 ld ra,40(sp)
370: 03e00008 jr ra
374: 67bd0030 daddiu sp,sp,48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment