root@talos:~/jhibbits # cat freestanding.c int main(int); int __start(void) { return main(0); } root@talos:~/jhibbits # cc -m32 -c -ffreestanding -o freestanding.o freestanding.c root@talos:~/jhibbits # objdump -dr freestanding.o freestanding.o: file format elf32-powerpc-freebsd Disassembly of section .text: 00000000 <__start>: 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff f0 stwu r1,-16(r1) c: 93 e1 00 0c stw r31,12(r1) 10: 7c 3f 0b 78 mr r31,r1 14: 38 60 00 00 li r3,0 18: 48 00 00 01 bl 18 <__start+0x18> 18: R_PPC_PLTREL24 main 1c: 80 01 00 14 lwz r0,20(r1) 20: 83 e1 00 0c lwz r31,12(r1) 24: 38 21 00 10 addi r1,r1,16 28: 7c 08 03 a6 mtlr r0 2c: 4e 80 00 20 blr