mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 05:54:26 +08:00
* x86-64-tdep.c (x86_64_skip_prologue): Print note when debugging
code without frame pointers.
This commit is contained in:
parent
e32eb77491
commit
b6779aa276
@ -1,3 +1,8 @@
|
||||
2002-04-26 Michal Ludvig <mludvig@suse.cz>
|
||||
|
||||
* x86-64-tdep.c (x86_64_skip_prologue): Print note when debugging
|
||||
code without frame pointers.
|
||||
|
||||
2002-04-26 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* sparc-tdep.c (sparc_gdbarch_init): Add comment explaining why
|
||||
|
@ -116,6 +116,9 @@ static struct register_info x86_64_register_info_table[] = {
|
||||
int x86_64_num_regs = X86_64_NUM_REGS;
|
||||
int x86_64_num_gregs = X86_64_NUM_GREGS;
|
||||
|
||||
/* Did we already print a note about frame pointer? */
|
||||
int omit_fp_note_printed = 0;
|
||||
|
||||
/* Number of bytes of storage in the actual machine representation for
|
||||
register REGNO. */
|
||||
int
|
||||
@ -811,10 +814,23 @@ x86_64_skip_prologue (CORE_ADDR pc)
|
||||
|
||||
read_memory (pc, (char *) prolog_buf, PROLOG_BUFSIZE);
|
||||
|
||||
/* First check, whether pc points to pushq %rbp, movq %rsp,%rbp. */
|
||||
for (i = 0; i < PROLOG_BUFSIZE; i++)
|
||||
if (prolog_expect[i] != prolog_buf[i])
|
||||
/* First check, whether pc points to pushq %rbp. If not,
|
||||
* print a recommendation to enable frame pointer. */
|
||||
if (prolog_expect[0] != prolog_buf[0])
|
||||
{
|
||||
if (!omit_fp_note_printed)
|
||||
{
|
||||
printf_filtered
|
||||
("NOTE: This function doesn't seem to have a valid prologue.\n"
|
||||
" Try to add -fno-omit-frame-pointer tou your gcc's CFLAGS.\n");
|
||||
omit_fp_note_printed++;
|
||||
}
|
||||
return pc;
|
||||
}
|
||||
/* Valid prolog continues with movq %rsp,%rbp. */
|
||||
for (i = 1; i < PROLOG_BUFSIZE; i++)
|
||||
if (prolog_expect[i] != prolog_buf[i])
|
||||
return pc + 1; /* First instruction after pushq %rbp. */
|
||||
|
||||
v_function = find_pc_function (pc);
|
||||
v_sal = find_pc_line (pc, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user