2 ms·
$ CXX=g++ppc CXXFLAGS=-g make -f /dev/null foo.o g++ppc -g -c -o foo.o foo.cc $ objdumpppc -drS foo.o foo.o: file format
by mzs 10y ago
$ CXX=g++ppc CXXFLAGS=-g make -f /dev/null foo.o
g++ppc -g -c -o foo.o foo.cc
$ objdumpppc -drS foo.o
foo.o: file format elf32-powerpc-vxworks
Disassembly of section .text:
00000000 <_Z3fooi>:
int
foo(int i)
0: 94 21 ff d0 stwu r1,-48(r1)
4: 7c 08 02 a6 mflr r0
8: 90 01 00 34 stw r0,52(r1)
c: 93 e1 00 2c stw r31,44(r1)
10: 7c 3f 0b 78 mr r31,r1
14: 90 7f 00 18 stw r3,24(r31)
{
try { if (i < 0) throw (i); }
18: 80 1f 00 18 lwz r0,24(r31)
1c: 2f 80 00 00 cmpwi cr7,r0,0
20: 40 9c 00 74 bge- cr7,94 <_Z3fooi+0x94>
24: 38 60 00 04 li r3,4
28: 48 00 00 01 bl 28 <_Z3fooi+0x28>
28: R_PPC_REL24 __cxa_allocate_exception
2c: 7c 60 1b 78 mr r0,r3
30: 7c 0b 03 78 mr r11,r0
34: 7d 69 5b 78 mr r9,r11
38: 80 1f 00 18 lwz r0,24(r31)
3c: 90 09 00 00 stw r0,0(r9)
40: 7d 63 5b 78 mr r3,r11
44: 3d 20 00 00 lis r9,0
46: R_PPC_ADDR16_HA _ZTIi
48: 38 89 00 00 addi r4,r9,0
4a: R_PPC_ADDR16_LO _ZTIi
4c: 38 a0 00 00 li r5,0
50: 48 00 00 01 bl 50 <_Z3fooi+0x50>
50: R_PPC_REL24 __cxa_throw
54: 90 7f 00 1c stw r3,28(r31)
58: 7c 80 23 78 mr r0,r4
5c: 2f 80 00 01 cmpwi cr7,r0,1
60: 41 9e 00 0c beq- cr7,6c <_Z3fooi+0x6c>
64: 80 7f 00 1c lwz r3,28(r31)
68: 48 00 00 01 bl 68 <_Z3fooi+0x68>
68: R_PPC_REL24 _Unwind_Resume
catch (int e) { i = -e; }
6c: 80 7f 00 1c lwz r3,28(r31)
70: 48 00 00 01 bl 70 <_Z3fooi+0x70>
70: R_PPC_REL24 __cxa_begin_catch
74: 7c 60 1b 78 mr r0,r3
78: 7c 09 03 78 mr r9,r0
7c: 80 09 00 00 lwz r0,0(r9)
80: 90 1f 00 08 stw r0,8(r31)
84: 80 1f 00 08 lwz r0,8(r31)
88: 7c 00 00 d0 neg r0,r0
8c: 90 1f 00 18 stw r0,24(r31)
90: 48 00 00 01 bl 90 <_Z3fooi+0x90>
90: R_PPC_REL24 __cxa_end_catch
return (i);
94: 80 1f 00 18 lwz r0,24(r31)
}
98: 7c 03 03 78 mr r3,r0
9c: 81 61 00 00 lwz r11,0(r1)
a0: 80 0b 00 04 lwz r0,4(r11)
a4: 7c 08 03 a6 mtlr r0
a8: 83 eb ff fc lwz r31,-4(r11)
ac: 7d 61 5b 78 mr r1,r11
b0: 4e 80 00 20 blr
$ g++ppc -v 2>&1 | tail -1
gcc version 4.3.3 (Wind River VxWorks G++ 4.3-315)
$