2002-06-11 Michal Ludvig <mludvig@suse.cz>
authorMichal Ludvig <mludvig@suse.cz>
Tue, 11 Jun 2002 06:11:31 +0000 (06:11 +0000)
committerMichal Ludvig <mludvig@suse.cz>
Tue, 11 Jun 2002 06:11:31 +0000 (06:11 +0000)
* x86-64-tdep.c (x86_64_skip_prologue): Fix to work on functions
without debug information too.

gdb/ChangeLog
gdb/x86-64-tdep.c

index 9c920e31dfe8a985e0446ade13c80e720b87d962..36ff17bd8fc4857ee15f7c5719ad46f5862f9608 100644 (file)
@@ -1,3 +1,8 @@
+2002-06-11  Michal Ludvig  <mludvig@suse.cz>
+
+       * x86-64-tdep.c (x86_64_skip_prologue): Fix to work on functions
+       without debug information too.
+
 2002-06-10  Andrew Cagney  <ac131313@redhat.com>
 
        * gdbarch.sh (PRINT_FLOAT_INFO): Add frame and ui_file parameters.
index 6391e756c9be3be877da5c5447cb09019e714d5b..a7b9d0b4cf1666f2eaa634d5b81cec7eefb6e623 100644 (file)
@@ -857,10 +857,10 @@ x86_64_frameless_function_invocation (struct frame_info *frame)
 CORE_ADDR
 x86_64_skip_prologue (CORE_ADDR pc)
 {
-  int i, firstline, currline;
+  int i;
   struct symtab_and_line v_sal;
   struct symbol *v_function;
-  CORE_ADDR salendaddr = 0, endaddr = 0;
+  CORE_ADDR endaddr;
 
   /* We will handle only functions beginning with:
      55          pushq %rbp
@@ -888,18 +888,13 @@ x86_64_skip_prologue (CORE_ADDR pc)
   if (!v_function || !v_function->ginfo.value.block || !v_sal.symtab)
     return pc;
 
-  firstline = v_sal.line;
-  currline = firstline;
-  salendaddr = v_sal.end;
   endaddr = v_function->ginfo.value.block->endaddr;
 
   for (i = 0; i < v_sal.symtab->linetable->nitems; i++)
-    if (v_sal.symtab->linetable->item[i].line > firstline
-       && v_sal.symtab->linetable->item[i].pc >= salendaddr
+    if (v_sal.symtab->linetable->item[i].pc >= pc
        && v_sal.symtab->linetable->item[i].pc < endaddr)
       {
        pc = v_sal.symtab->linetable->item[i].pc;
-       currline = v_sal.symtab->linetable->item[i].line;
        break;
       }