$ 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) $