blob: 6e7422ab5489c51fe89c5648d5006e5827133dc6 [file] [log] [blame]
.file "foo.c"
.abiversion 2
.section ".toc","aw"
.section ".text"
.section .rodata
.align 3
.type kString, @object
.size kString, 12
kString:
.string "hello world"
.globl kExportedString
.align 3
.type kExportedString, @object
.size kExportedString, 26
kExportedString:
.string "hello world, more visibly"
.align 2
.type kGiantArray, @object
.size kGiantArray, 400000
kGiantArray:
.long 1
.long 0
.zero 399992
.lcomm bss,20,4
.type bss, @object
.align 3
.LC1:
.string "kString is %p\n"
.align 3
.LC2:
.string "kExportedString is %p\n"
.align 3
.LC4:
.string "function is %p\n"
.align 3
.LC5:
.string "exported_function is %p\n"
.align 3
.LC7:
.string "&kString[5] is %p\n"
.align 3
.LC9:
.string "&kGiantArray[0x12345] is %p\n"
.section ".toc","aw"
.LC0:
.quad stderr
.LC3:
.quad kExportedString
.LC6:
.quad exported_function
.LC8:
.quad kString+5
.LC10:
.quad kGiantArray+298260
.section ".text"
.align 2
.type function, @function
function:
0: addis 2,12,.TOC.-0b@ha
addi 2,2,.TOC.-0b@l
.localentry function,.-function
mflr 0
std 0,16(1)
std 31,-8(1)
stdu 1,-112(1)
mr 31,1
addis 10,2,.LC0@toc@ha
ld 9,.LC0@toc@l(10)
ld 9,0(9)
mr 3,9
addis 4,2,.LC1@toc@ha
addi 4,4,.LC1@toc@l
addis 5,2,kString@toc@ha
addi 5,5,kString@toc@l
bl fprintf
nop
addis 10,2,.LC0@toc@ha
ld 9,.LC0@toc@l(10)
ld 9,0(9)
mr 3,9
addis 4,2,.LC2@toc@ha
addi 4,4,.LC2@toc@l
addis 9,2,.LC3@toc@ha
ld 5,.LC3@toc@l(9)
bl fprintf
nop
addis 10,2,.LC0@toc@ha
ld 9,.LC0@toc@l(10)
ld 9,0(9)
mr 3,9
addis 4,2,.LC4@toc@ha
addi 4,4,.LC4@toc@l
addis 5,2,function@toc@ha
addi 5,5,function@toc@l
bl fprintf
nop
addis 10,2,.LC0@toc@ha
ld 9,.LC0@toc@l(10)
ld 9,0(9)
mr 3,9
addis 4,2,.LC5@toc@ha
addi 4,4,.LC5@toc@l
addis 9,2,.LC6@toc@ha
ld 5,.LC6@toc@l(9)
bl fprintf
nop
addis 10,2,.LC0@toc@ha
ld 9,.LC0@toc@l(10)
ld 9,0(9)
mr 3,9
addis 4,2,.LC7@toc@ha
addi 4,4,.LC7@toc@l
addis 9,2,.LC8@toc@ha
ld 5,.LC8@toc@l(9)
bl fprintf
nop
addis 10,2,.LC0@toc@ha
ld 9,.LC0@toc@l(10)
ld 9,0(9)
mr 3,9
addis 4,2,.LC9@toc@ha
addi 4,4,.LC9@toc@l
addis 9,2,.LC10@toc@ha
ld 5,.LC10@toc@l(9)
bl fprintf
nop
bl exported_function
nop
mr 3,9
addi 1,31,112
ld 0,16(1)
mtlr 0
ld 31,-8(1)
blr
.long 0
.byte 0,0,0,1,128,1,0,1
.size function,.-function
.align 2
.globl exported_function
.type exported_function, @function
exported_function:
0: addis 2,12,.TOC.-0b@ha
addi 2,2,.TOC.-0b@l
.localentry exported_function,.-exported_function
mflr 0
std 0,16(1)
std 31,-8(1)
stdu 1,-48(1)
mr 31,1
bl function
mr 3,9
addi 1,31,48
ld 0,16(1)
mtlr 0
ld 31,-8(1)
blr
.long 0
.byte 0,0,0,1,128,1,0,1
.size exported_function,.-exported_function
.ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
.section .note.GNU-stack,"",@progbits