This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

SKIP_PROLOGUE() and prologue insn scheduling


A coworker asked me what the prefered behavior of the SKIP_PROLOGUE()
macro when the compiler schedules the function prologue in with user
insns.  I didn't have a good answer and the internals documentation
doesn't address this, so I'm shooting the question to the list.

The choice is whether SKIP_PROLOGUE() returns:
    1) 1st user insn even though more prologue insns remain?
    2) 1st user insn after final prologue insn?

Of these two, I think #1 is the most conservative choice.  However,
gdb may may not be able to print function arguments correctly until
the user steps beyond the remainder of the prologue.  While #2 does
not have that problem, having user insns execute as part of the
prologue could also be confusing --- Especially those that have
observable side effects (e.g. writes to a memory mapped device).

What is the common wisdom?  At the very least, I think we need to
flesh out this issue in the internals document.

        --jtc

-- 
J.T. Conklin
RedBack Networks


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]