GAS LISTING /tmp/cczfxf4m.s page 1 1 .file "reference.cpp" 2 .text 3 .Ltext0: 4 .globl _Z13use_referenceRi 6 _Z13use_referenceRi: 7 .LFB0: 8 .file 1 "reference.cpp" 1:reference.cpp **** void use_reference (int &arg) { 9 .loc 1 1 0 10 .cfi_startproc 11 .LVL0: 2:reference.cpp **** arg += 37; 12 .loc 1 2 0 13 0000 830725 addl $37, (%rdi) 14 0003 C3 ret 15 .cfi_endproc 16 .LFE0: 18 .globl _Z11use_pointerPi 20 _Z11use_pointerPi: 21 .LFB1: 3:reference.cpp **** } 4:reference.cpp **** 5:reference.cpp **** void use_pointer (int *arg) { 22 .loc 1 5 0 23 .cfi_startproc 24 .LVL1: 6:reference.cpp **** (*arg) += 23; 25 .loc 1 6 0 26 0004 830717 addl $23, (%rdi) 27 0007 C3 ret 28 .cfi_endproc 29 .LFE1: 31 .globl _Z9referenceiPPKc 33 _Z9referenceiPPKc: 34 .LFB2: 7:reference.cpp **** } 8:reference.cpp **** 9:reference.cpp **** int reference(int argc, const char **argv) { 35 .loc 1 9 0 36 .cfi_startproc 37 .LVL2: 38 0008 4883EC10 subq $16, %rsp 39 .cfi_def_cfa_offset 24 40 .LBB2: 10:reference.cpp **** int foo; 11:reference.cpp **** foo = 12; 41 .loc 1 11 0 42 000c C744240C movl $12, 12(%rsp) 42 0C000000 12:reference.cpp **** use_reference(foo); 43 .loc 1 12 0 44 0014 488D7C24 leaq 12(%rsp), %rdi 44 0C 45 .LVL3: 46 0019 E8000000 call _Z13use_referenceRi 46 00 47 .LVL4: GAS LISTING /tmp/cczfxf4m.s page 2 13:reference.cpp **** use_pointer(&foo); 48 .loc 1 13 0 49 001e 488D7C24 leaq 12(%rsp), %rdi 49 0C 50 0023 E8000000 call _Z11use_pointerPi 50 00 51 .LVL5: 52 .LBE2: 14:reference.cpp **** return foo; 15:reference.cpp **** } 53 .loc 1 15 0 54 0028 8B44240C movl 12(%rsp), %eax 55 002c 4883C410 addq $16, %rsp 56 .cfi_def_cfa_offset 8 57 0030 C3 ret 58 .cfi_endproc 59 .LFE2: 61 .Letext0: GAS LISTING /tmp/cczfxf4m.s page 3 DEFINED SYMBOLS *ABS*:0000000000000000 reference.cpp /tmp/cczfxf4m.s:6 .text:0000000000000000 _Z13use_referenceRi /tmp/cczfxf4m.s:20 .text:0000000000000004 _Z11use_pointerPi /tmp/cczfxf4m.s:33 .text:0000000000000008 _Z9referenceiPPKc NO UNDEFINED SYMBOLS