From: Michal Ludvig Date: Fri, 7 Jun 2002 12:33:56 +0000 (+0000) Subject: 2002-06-07 Michal Ludvig X-Git-Tag: gdb_5_2_1-2002-07-23-release~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=21d3d9d313288004c0b710c233cc8405adc2f30c;p=thirdparty%2Fbinutils-gdb.git 2002-06-07 Michal Ludvig Merge from mainline: 2002-05-27 Michal Ludvig * x86-64-tdep.c (x86_64_skip_prologue): Remove obsolete note. Let PC point right after the prologue before looking up symbols. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d0e55978d78..82128658b2a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2002-06-07 Michal Ludvig + + Merge from mainline: + + 2002-05-27 Michal Ludvig + + * x86-64-tdep.c (x86_64_skip_prologue): Remove obsolete + note. Let PC point right after the prologue before looking + up symbols. + 2002-05-28 Theodore A. Roth * Makefile.in: Add support for AVR target. diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c index bdf08f578eb..3ebc1b2594a 100644 --- a/gdb/x86-64-tdep.c +++ b/gdb/x86-64-tdep.c @@ -814,23 +814,14 @@ x86_64_skip_prologue (CORE_ADDR pc) read_memory (pc, (char *) prolog_buf, PROLOG_BUFSIZE); - /* 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++) + /* 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]) - return pc + 1; /* First instruction after pushq %rbp. */ + return pc; /* ... no, it doesn't. Nothing to skip. */ + + /* OK, we have found the prologue and want PC of the first + non-prologue instruction. */ + pc += PROLOG_BUFSIZE; v_function = find_pc_function (pc); v_sal = find_pc_line (pc, 0);