Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tcf-dev] Step-over in PPC64 when stopped at the prolog.

Hi Eugene,

In PPC64, I have the following prolog:

0000000040000220 <main>:
    40000220:   3c 40 40 02     lis     r2,16386      ==> (CFA == r1)
    40000224:   38 42 14 80     addi    r2,r2,5248
    40000228:   7c 08 02 a6     mflr    r0
    4000022c:   3d 80 40 02     lis     r12,16386
    40000230:   39 8c 80 44     addi    r12,r12,-32700
    40000234:   7d 89 03 a6     mtctr   r12
40000238: 4e 80 04 21 bctrl ===> We jump to a routine that will save the registers ! See <_savegpr0_31> below. 4000023c: f8 21 ff 61 stdu r1,-160(r1) ==> Stack pointer gets adjusted HERE....
    40000240:   90 61 00 64     stw     r3,100(r1)
    40000244:   f8 81 00 68     std     r4,104(r1)
    40000248:   f8 a1 00 70     std     r5,112(r1)
    4000024c:   e8 01 00 66     lwa     r0,100(r1)
    40000250:   2c 00 00 02     cmpwi   r0,2

0000000040018044 <_savegpr0_31>:
    40018044:   fb e1 ff f8     std     r31,-8(r1)     ==> (CFA == r1)
    40018048:   f8 01 00 10     std     r0,16(r1)
    4001804c:   4e 80 00 20     blr

As you can see, in <_savegpr0_31> CFA callee == CFA caller (main).

So a step-over in the main prolog does a step-into !

What's the best way to address this issue ?

Many thanks !
Xavier.



Back to the top