This is the mail archive of the gdb-prs@sourceware.org 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]
Other format: [Raw text]

[Bug gdb/16189] New: gdbarch_skip_prologue() needs extra argument to handle overlay cases


https://sourceware.org/bugzilla/show_bug.cgi?id=16189

            Bug ID: 16189
           Summary: gdbarch_skip_prologue() needs extra argument to handle
                    overlay cases
           Product: gdb
           Version: 7.6
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gdb
          Assignee: unassigned at sourceware dot org
          Reporter: arnab at cadence dot com

gdbarch_skip_prologue() only takes the architecture and the PC value. In the
presence of overlays, the PC value is not unique and therefore not sufficient
to locate the function unambiguously. I suggest that this function be changed
to accept an additional argument, a pointer to a section, like so -

extern CORE_ADDR gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip,
struct obj_section *section);

The PC value and the section together can identify the function uniquely.
Looking that the code that calls gdbarch_skip_prologue(), the section should be
known (or can be found) fairly easily. Most of the target-specific
implementations of skip_prologue() will end up not using this extra argument,
but those that need to will be able to.

Feel free to assign this to me for fixing, if you wish. Thanks.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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