* symtab.c (skip_prologue_using_sal): Consider a file
    change the same as an increased line number

gdb/testsuite/
    * gdb.base/prologue-include.c: New file.
    * gdb.base/prologue-include.exp: New file.
    * gdb.base/prologue-include.h: New file.
This commit is contained in:
Tiago Daitx 2013-01-24 20:36:03 +00:00
parent 63da403766
commit 2077afddd4
6 changed files with 85 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2013-01-24 Ulrich Weigand  <uweigand@de.ibm.com>
* symtab.c (skip_prologue_using_sal): Consider a file
change the same as an increased line number
2013-01-24 Tiago Stürmer Daitx  <tdaitx@linux.vnet.ibm.com>
* MAINTAINERS (Write After Approval): Add myself to the list.

View File

@ -4905,6 +4905,10 @@ skip_prologue_using_sal (struct gdbarch *gdbarch, CORE_ADDR func_addr)
line mark the prologue -> body transition. */
if (sal.line >= prologue_sal.line)
break;
/* Likewise if we are in a different symtab altogether
(e.g. within a file included via #include).  */
if (sal.symtab != prologue_sal.symtab)
break;
/* The line number is smaller. Check that it's from the
same function, not something inlined. If it's inlined,

View File

@ -1,3 +1,9 @@
2013-01-24 Tiago Stürmer Daitx <tdaitx@linux.vnet.ibm.com>
* gdb.base/prologue-include.c: New file.
* gdb.base/prologue-include.exp: New file.
* gdb.base/prologue-include.h: New file.
2013-01-24 Hafiz Abid Qadeer <abidh@codesourcery.com>
PR gdb/13443

View File

@ -0,0 +1,25 @@
/* This testcase is part of GDB, the GNU debugger.
Copyright 2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
int
main (void)
{
int i, j;
#include "prologue-include.h"
return 0;
}

View File

@ -0,0 +1,26 @@
# Copyright (C) 2013 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
standard_testfile
if { [prepare_for_testing ${testfile}.exp ${testfile}] } {
return -1
}
set bp_main [gdb_get_line_number "break main" ${testfile}.h]
gdb_test "break main" \
"Breakpoint.*at.* file .*$testfile.h, line $bp_main\\." \
"breakpoint main"

View File

@ -0,0 +1,19 @@
/* This testcase is part of GDB, the GNU debugger.
Copyright 2013 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
i = 2; /* break main should stop here */
j = 2;