summaryrefslogtreecommitdiff
path: root/gdb/x86-64-tdep.c
diff options
context:
space:
mode:
authorMichal Ludvig <mludvig@suse.cz>2002-05-27 13:37:39 +0000
committerMichal Ludvig <mludvig@suse.cz>2002-05-27 13:37:39 +0000
commit8ee9a51ed1c7562b0300291f0c54d53587651b4c (patch)
tree6fadf0a3cafeac0f4edab45640c2677ecb3e141e /gdb/x86-64-tdep.c
parent8b2091737febc25d4e577232bdb0e8a049abd2a7 (diff)
downloadgdb-8ee9a51ed1c7562b0300291f0c54d53587651b4c.tar.gz
2002-05-24 Michal Ludvig <mludvig@suse.cz>
* x86-64-tdep.c (x86_64_skip_prologue): Remove obsolete note. Let PC point right after the prologue before looking up symbols.
Diffstat (limited to 'gdb/x86-64-tdep.c')
-rw-r--r--gdb/x86-64-tdep.c23
1 files changed, 7 insertions, 16 deletions
diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c
index 94f57a5a539..a3f8bee1682 100644
--- a/gdb/x86-64-tdep.c
+++ b/gdb/x86-64-tdep.c
@@ -859,23 +859,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"
- " Consider adding -fno-omit-frame-pointer to 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);