- Rebase to FSF GDB 7.2.50.20110213 (which is a 7.3 pre-release).

- Fix occasionall unfound source lines (affecting at least glibc debugging).
- Fix const/volatile qualifiers of C++ types (PR c++/12328).
- Be backward compatible for --rebuild with <=fc14 librpm.so.1.
This commit is contained in:
Jan Kratochvil 2011-02-13 20:09:54 +01:00
parent 9f971d482a
commit af2402c03d
7 changed files with 392 additions and 107 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/libstdc++-v3-python-r155978.tar.bz2 /libstdc++-v3-python-r155978.tar.bz2
/gdb-7.2.50.20110206.tar.bz2 /gdb-7.2.50.20110213.tar.bz2

View File

@ -1,7 +1,7 @@
Index: gdb-7.2.50.20101231/gdb/event-top.c Index: gdb-7.2.50.20110213/gdb/event-top.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/event-top.c 2010-12-29 01:58:14.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/event-top.c 2011-01-01 16:33:03.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/event-top.c 2011-01-01 01:07:37.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/event-top.c 2011-02-13 19:21:49.000000000 +0100
@@ -33,6 +33,7 @@ @@ -33,6 +33,7 @@
#include "cli/cli-script.h" /* for reset_command_nest_depth */ #include "cli/cli-script.h" /* for reset_command_nest_depth */
#include "main.h" #include "main.h"
@ -28,10 +28,10 @@ Index: gdb-7.2.50.20101231/gdb/event-top.c
/* Each interpreter has its own rules on displaying the command /* Each interpreter has its own rules on displaying the command
prompt. */ prompt. */
if (!current_interp_display_prompt_p ()) if (!current_interp_display_prompt_p ())
Index: gdb-7.2.50.20101231/gdb/elfread.c Index: gdb-7.2.50.20110213/gdb/elfread.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/elfread.c 2011-01-01 01:05:01.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/elfread.c 2011-02-13 19:21:44.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/elfread.c 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/elfread.c 2011-02-13 19:21:49.000000000 +0100
@@ -42,6 +42,7 @@ @@ -42,6 +42,7 @@
#include "gdbcore.h" #include "gdbcore.h"
#include "gdbcmd.h" #include "gdbcmd.h"
@ -40,7 +40,7 @@ Index: gdb-7.2.50.20101231/gdb/elfread.c
extern void _initialize_elfread (void); extern void _initialize_elfread (void);
@@ -1371,8 +1372,361 @@ build_id_to_filename (struct build_id *b @@ -1374,8 +1375,361 @@ build_id_to_filename (struct build_id *b
return retval; return retval;
} }
@ -403,7 +403,7 @@ Index: gdb-7.2.50.20101231/gdb/elfread.c
avoidance. */ avoidance. */
struct missing_filepair struct missing_filepair
@@ -1426,11 +1780,17 @@ missing_filepair_change (void) @@ -1429,11 +1783,17 @@ missing_filepair_change (void)
/* All their memory came just from missing_filepair_OBSTACK. */ /* All their memory came just from missing_filepair_OBSTACK. */
missing_filepair_hash = NULL; missing_filepair_hash = NULL;
} }
@ -421,7 +421,7 @@ Index: gdb-7.2.50.20101231/gdb/elfread.c
missing_filepair_change (); missing_filepair_change ();
} }
@@ -1497,14 +1857,35 @@ debug_print_missing (const char *binary, @@ -1500,14 +1860,35 @@ debug_print_missing (const char *binary,
*slot = missing_filepair; *slot = missing_filepair;
@ -464,11 +464,11 @@ Index: gdb-7.2.50.20101231/gdb/elfread.c
} }
static char * static char *
Index: gdb-7.2.50.20101231/gdb/symfile.h Index: gdb-7.2.50.20110213/gdb/symfile.h
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/symfile.h 2011-01-01 01:05:01.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/symfile.h 2011-02-13 19:21:44.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/symfile.h 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/symfile.h 2011-02-13 19:21:49.000000000 +0100
@@ -559,6 +559,8 @@ extern struct build_id *build_id_addr_ge @@ -560,6 +560,8 @@ extern struct build_id *build_id_addr_ge
extern char *build_id_to_filename (struct build_id *build_id, extern char *build_id_to_filename (struct build_id *build_id,
char **link_return, int add_debug_suffix); char **link_return, int add_debug_suffix);
extern void debug_print_missing (const char *binary, const char *debug); extern void debug_print_missing (const char *binary, const char *debug);
@ -477,11 +477,11 @@ Index: gdb-7.2.50.20101231/gdb/symfile.h
/* From dwarf2read.c */ /* From dwarf2read.c */
Index: gdb-7.2.50.20101231/gdb/testsuite/lib/gdb.exp Index: gdb-7.2.50.20110213/gdb/testsuite/lib/gdb.exp
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:01.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/testsuite/lib/gdb.exp 2011-02-13 19:21:44.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/testsuite/lib/gdb.exp 2011-02-13 19:21:49.000000000 +0100
@@ -1389,7 +1389,7 @@ proc default_gdb_start { } { @@ -1395,7 +1395,7 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0." warning "Couldn't set the width to 0."
} }
} }
@ -490,10 +490,10 @@ Index: gdb-7.2.50.20101231/gdb/testsuite/lib/gdb.exp
send_gdb "set build-id-verbose 0\n" send_gdb "set build-id-verbose 0\n"
gdb_expect 10 { gdb_expect 10 {
-re "$gdb_prompt $" { -re "$gdb_prompt $" {
Index: gdb-7.2.50.20101231/gdb/testsuite/lib/mi-support.exp Index: gdb-7.2.50.20110213/gdb/testsuite/lib/mi-support.exp
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/testsuite/lib/mi-support.exp 2011-01-01 01:05:01.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/testsuite/lib/mi-support.exp 2011-02-13 19:21:44.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/testsuite/lib/mi-support.exp 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/testsuite/lib/mi-support.exp 2011-02-13 19:21:49.000000000 +0100
@@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } { @@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } {
} }
} }
@ -503,11 +503,11 @@ Index: gdb-7.2.50.20101231/gdb/testsuite/lib/mi-support.exp
send_gdb "190-gdb-set build-id-verbose 0\n" send_gdb "190-gdb-set build-id-verbose 0\n"
gdb_expect 10 { gdb_expect 10 {
-re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" { -re ".*190-gdb-set build-id-verbose 0\r\n190\\\^done\r\n$mi_gdb_prompt$" {
Index: gdb-7.2.50.20101231/gdb/tui/tui-interp.c Index: gdb-7.2.50.20110213/gdb/tui/tui-interp.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/tui/tui-interp.c 2010-05-18 00:21:43.000000000 +0200 --- gdb-7.2.50.20110213.orig/gdb/tui/tui-interp.c 2011-01-01 16:33:52.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/tui/tui-interp.c 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/tui/tui-interp.c 2011-02-13 19:21:49.000000000 +0100
@@ -30,6 +30,7 @@ @@ -31,6 +31,7 @@
#include "tui/tui.h" #include "tui/tui.h"
#include "tui/tui-io.h" #include "tui/tui-io.h"
#include "exceptions.h" #include "exceptions.h"
@ -515,7 +515,7 @@ Index: gdb-7.2.50.20101231/gdb/tui/tui-interp.c
/* Set to 1 when the TUI mode must be activated when we first start /* Set to 1 when the TUI mode must be activated when we first start
gdb. */ gdb. */
@@ -146,6 +147,8 @@ tui_command_loop (void *data) @@ -147,6 +148,8 @@ tui_command_loop (void *data)
char *a_prompt; char *a_prompt;
char *gdb_prompt = get_prompt (); char *gdb_prompt = get_prompt ();
@ -524,10 +524,10 @@ Index: gdb-7.2.50.20101231/gdb/tui/tui-interp.c
/* Tell readline what the prompt to display is and what function /* Tell readline what the prompt to display is and what function
it will need to call after a whole line is read. This also it will need to call after a whole line is read. This also
displays the first prompt. */ displays the first prompt. */
Index: gdb-7.2.50.20101231/gdb/aclocal.m4 Index: gdb-7.2.50.20110213/gdb/aclocal.m4
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/aclocal.m4 2010-05-23 02:56:59.000000000 +0200 --- gdb-7.2.50.20110213.orig/gdb/aclocal.m4 2010-05-23 02:56:59.000000000 +0200
+++ gdb-7.2.50.20101231/gdb/aclocal.m4 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/aclocal.m4 2011-02-13 19:21:49.000000000 +0100
@@ -19,6 +19,162 @@ You have another version of autoconf. I @@ -19,6 +19,162 @@ You have another version of autoconf. I
If you have problems, you may need to regenerate the build system entirely. If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])]) To do so, use the procedure documented by the package, typically `autoreconf'.])])
@ -691,10 +691,10 @@ Index: gdb-7.2.50.20101231/gdb/aclocal.m4
# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
Index: gdb-7.2.50.20101231/gdb/config.in Index: gdb-7.2.50.20110213/gdb/config.in
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/config.in 2010-09-02 19:12:35.000000000 +0200 --- gdb-7.2.50.20110213.orig/gdb/config.in 2011-01-14 14:38:23.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/config.in 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/config.in 2011-02-13 19:21:49.000000000 +0100
@@ -46,6 +46,9 @@ @@ -46,6 +46,9 @@
/* Define to BFD's default target vector. */ /* Define to BFD's default target vector. */
#undef DEFAULT_BFD_VEC #undef DEFAULT_BFD_VEC
@ -705,7 +705,7 @@ Index: gdb-7.2.50.20101231/gdb/config.in
/* Define to 1 if translation of program messages to the user's native /* Define to 1 if translation of program messages to the user's native
language is requested. */ language is requested. */
#undef ENABLE_NLS #undef ENABLE_NLS
@@ -232,6 +235,9 @@ @@ -229,6 +232,9 @@
/* Define if Python 2.7 is being used. */ /* Define if Python 2.7 is being used. */
#undef HAVE_LIBPYTHON2_7 #undef HAVE_LIBPYTHON2_7
@ -715,11 +715,11 @@ Index: gdb-7.2.50.20101231/gdb/config.in
/* Define if libunwind library is being used. */ /* Define if libunwind library is being used. */
#undef HAVE_LIBUNWIND #undef HAVE_LIBUNWIND
Index: gdb-7.2.50.20101231/gdb/configure Index: gdb-7.2.50.20110213/gdb/configure
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/configure 2010-12-14 08:17:14.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/configure 2011-02-11 10:57:24.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/configure 2011-01-01 01:08:50.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/configure 2011-02-13 19:22:37.000000000 +0100
@@ -680,6 +680,9 @@ REPORT_BUGS_TO @@ -682,6 +682,9 @@ REPORT_BUGS_TO
PKGVERSION PKGVERSION
TARGET_OBS TARGET_OBS
subdirs subdirs
@ -729,7 +729,7 @@ Index: gdb-7.2.50.20101231/gdb/configure
GDB_DATADIR GDB_DATADIR
DEBUGDIR DEBUGDIR
am__fastdepCC_FALSE am__fastdepCC_FALSE
@@ -946,6 +949,7 @@ enable_dependency_tracking @@ -948,6 +951,7 @@ enable_dependency_tracking
with_separate_debug_dir with_separate_debug_dir
with_gdb_datadir with_gdb_datadir
with_relocated_sources with_relocated_sources
@ -737,7 +737,7 @@ Index: gdb-7.2.50.20101231/gdb/configure
enable_targets enable_targets
enable_64_bit_bfd enable_64_bit_bfd
enable_gdbcli enable_gdbcli
@@ -987,6 +991,9 @@ LDFLAGS @@ -989,6 +993,9 @@ LDFLAGS
LIBS LIBS
CPPFLAGS CPPFLAGS
CPP CPP
@ -747,7 +747,7 @@ Index: gdb-7.2.50.20101231/gdb/configure
YACC YACC
YFLAGS YFLAGS
XMKMF' XMKMF'
@@ -1650,6 +1657,8 @@ Optional Packages: @@ -1653,6 +1660,8 @@ Optional Packages:
[DATADIR/gdb] [DATADIR/gdb]
--with-relocated-sources=PATH --with-relocated-sources=PATH
automatically relocate this path for source files automatically relocate this path for source files
@ -756,7 +756,7 @@ Index: gdb-7.2.50.20101231/gdb/configure
--with-libunwind use libunwind frame unwinding support --with-libunwind use libunwind frame unwinding support
--with-curses use the curses library instead of the termcap --with-curses use the curses library instead of the termcap
library library
@@ -1685,6 +1694,9 @@ Some influential environment variables: @@ -1688,6 +1697,9 @@ Some influential environment variables:
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir> you have headers in a nonstandard directory <include dir>
CPP C preprocessor CPP C preprocessor
@ -766,7 +766,7 @@ Index: gdb-7.2.50.20101231/gdb/configure
YACC The `Yet Another C Compiler' implementation to use. Defaults to YACC The `Yet Another C Compiler' implementation to use. Defaults to
the first program found out of: `bison -y', `byacc', `yacc'. the first program found out of: `bison -y', `byacc', `yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC. YFLAGS The list of arguments that will be passed by default to $YACC.
@@ -7882,6 +7894,486 @@ _ACEOF @@ -7885,6 +7897,486 @@ _ACEOF
fi fi
@ -1253,10 +1253,10 @@ Index: gdb-7.2.50.20101231/gdb/configure
subdirs="$subdirs testsuite" subdirs="$subdirs testsuite"
Index: gdb-7.2.50.20101231/gdb/configure.ac Index: gdb-7.2.50.20110213/gdb/configure.ac
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/configure.ac 2010-12-14 08:17:15.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/configure.ac 2011-02-11 10:57:25.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/configure.ac 2011-01-01 01:08:28.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/configure.ac 2011-02-13 19:22:30.000000000 +0100
@@ -108,6 +108,199 @@ AS_HELP_STRING([--with-relocated-sources @@ -108,6 +108,199 @@ AS_HELP_STRING([--with-relocated-sources
[Relocated directory for source files. ]) [Relocated directory for source files. ])
]) ])
@ -1455,12 +1455,12 @@ Index: gdb-7.2.50.20101231/gdb/configure.ac
+fi +fi
+ +
AC_CONFIG_SUBDIRS(testsuite) AC_CONFIG_SUBDIRS(testsuite)
AC_CONFIG_SUBDIRS(common)
# Check whether to support alternative target configurations Index: gdb-7.2.50.20110213/gdb/acinclude.m4
Index: gdb-7.2.50.20101231/gdb/acinclude.m4
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200 --- gdb-7.2.50.20110213.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200
+++ gdb-7.2.50.20101231/gdb/acinclude.m4 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/acinclude.m4 2011-02-13 19:21:49.000000000 +0100
@@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
+# serial 1 +# serial 1
+ +
@ -1476,11 +1476,11 @@ Index: gdb-7.2.50.20101231/gdb/acinclude.m4
# @defmac AC_PROG_CC_STDC # @defmac AC_PROG_CC_STDC
# @maindex PROG_CC_STDC # @maindex PROG_CC_STDC
# @ovindex CC # @ovindex CC
Index: gdb-7.2.50.20101231/gdb/corelow.c Index: gdb-7.2.50.20110213/gdb/corelow.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101231.orig/gdb/corelow.c 2011-01-01 01:05:01.000000000 +0100 --- gdb-7.2.50.20110213.orig/gdb/corelow.c 2011-02-13 19:21:44.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/corelow.c 2011-01-01 01:05:10.000000000 +0100 +++ gdb-7.2.50.20110213/gdb/corelow.c 2011-02-13 19:21:49.000000000 +0100
@@ -317,7 +317,7 @@ build_id_locate_exec (int from_tty) @@ -320,7 +320,7 @@ build_id_locate_exec (int from_tty)
symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED; symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
} }
else else

View File

@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
http://sourceware.org/gdb/wiki/ArcherBranchManagement http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot: GIT snapshot:
commit 8d1fce85d351ec7fec64ed392932fe59148b83fc commit 7f0f6abd9c19e1410e66ebbe10e3ddea1ecac8d3
branch `archer' - the merge of branches: branch `archer' - the merge of branches:
archer-jankratochvil-vla archer-jankratochvil-vla
@ -14,10 +14,10 @@ archer-tromey-python
diff --git a/gdb/Makefile.in b/gdb/Makefile.in diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 66521a2..66a6fc2 100644 index 5f91e35..0a23720 100644
--- a/gdb/Makefile.in --- a/gdb/Makefile.in
+++ b/gdb/Makefile.in +++ b/gdb/Makefile.in
@@ -807,7 +807,8 @@ annotate.h sim-regno.h dictionary.h dfp.h main.h frame-unwind.h \ @@ -813,7 +813,8 @@ annotate.h sim-regno.h dictionary.h dfp.h main.h frame-unwind.h \
remote-fileio.h i386-linux-tdep.h vax-tdep.h objc-lang.h \ remote-fileio.h i386-linux-tdep.h vax-tdep.h objc-lang.h \
sentinel-frame.h bcache.h symfile.h windows-tdep.h linux-tdep.h \ sentinel-frame.h bcache.h symfile.h windows-tdep.h linux-tdep.h \
gdb_usleep.h jit.h xml-syscall.h ada-operator.inc microblaze-tdep.h \ gdb_usleep.h jit.h xml-syscall.h ada-operator.inc microblaze-tdep.h \
@ -27,7 +27,7 @@ index 66521a2..66a6fc2 100644
# Header files that already have srcdir in them, or which are in objdir. # Header files that already have srcdir in them, or which are in objdir.
@@ -1313,6 +1314,12 @@ stamp-h: $(srcdir)/config.in config.status @@ -1345,6 +1346,12 @@ stamp-h: $(srcdir)/config.in config.status
CONFIG_LINKS= \ CONFIG_LINKS= \
$(SHELL) config.status $(SHELL) config.status
@ -392,7 +392,7 @@ index b9aaf54..e1f3242 100644
/* Return the innermost stack frame executing inside of BLOCK, or NULL /* Return the innermost stack frame executing inside of BLOCK, or NULL
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 656dedd..2a5f761 100644 index 39d9b02..d5ab70b 100644
--- a/gdb/breakpoint.c --- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c +++ b/gdb/breakpoint.c
@@ -62,6 +62,7 @@ @@ -62,6 +62,7 @@
@ -790,7 +790,7 @@ index 656dedd..2a5f761 100644
return loc; return loc;
} }
@@ -8573,6 +8668,7 @@ watch_command_1 (char *arg, int accessflag, int from_tty, @@ -8576,6 +8671,7 @@ watch_command_1 (char *arg, int accessflag, int from_tty,
b = set_raw_breakpoint_without_location (NULL, bp_type); b = set_raw_breakpoint_without_location (NULL, bp_type);
set_breakpoint_number (internal, b); set_breakpoint_number (internal, b);
b->thread = thread; b->thread = thread;
@ -798,7 +798,7 @@ index 656dedd..2a5f761 100644
b->disposition = disp_donttouch; b->disposition = disp_donttouch;
b->exp = exp; b->exp = exp;
b->exp_valid_block = exp_valid_block; b->exp_valid_block = exp_valid_block;
@@ -9744,6 +9840,9 @@ update_global_location_list (int should_insert) @@ -9747,6 +9843,9 @@ update_global_location_list (int should_insert)
int keep_in_target = 0; int keep_in_target = 0;
int removed = 0; int removed = 0;
@ -808,7 +808,7 @@ index 656dedd..2a5f761 100644
/* Skip LOCP entries which will definitely never be needed. /* Skip LOCP entries which will definitely never be needed.
Stop either at or being the one matching OLD_LOC. */ Stop either at or being the one matching OLD_LOC. */
while (locp < bp_location + bp_location_count while (locp < bp_location + bp_location_count
@@ -10060,12 +10159,20 @@ delete_breakpoint (struct breakpoint *bpt) @@ -10063,12 +10162,20 @@ delete_breakpoint (struct breakpoint *bpt)
/* At least avoid this stale reference until the reference counting /* At least avoid this stale reference until the reference counting
of breakpoints gets resolved. */ of breakpoints gets resolved. */
@ -834,7 +834,7 @@ index 656dedd..2a5f761 100644
} }
observer_notify_breakpoint_deleted (bpt->number); observer_notify_breakpoint_deleted (bpt->number);
@@ -10396,6 +10503,9 @@ update_breakpoint_locations (struct breakpoint *b, @@ -10399,6 +10506,9 @@ update_breakpoint_locations (struct breakpoint *b,
return; return;
b->loc = NULL; b->loc = NULL;
@ -844,7 +844,7 @@ index 656dedd..2a5f761 100644
for (i = 0; i < sals.nelts; ++i) for (i = 0; i < sals.nelts; ++i)
{ {
@@ -10423,11 +10533,7 @@ update_breakpoint_locations (struct breakpoint *b, @@ -10426,11 +10536,7 @@ update_breakpoint_locations (struct breakpoint *b,
} }
} }
@ -857,7 +857,7 @@ index 656dedd..2a5f761 100644
b->source_file = xstrdup (sals.sals[i].symtab->filename); b->source_file = xstrdup (sals.sals[i].symtab->filename);
if (b->line_number == 0) if (b->line_number == 0)
@@ -10510,6 +10616,7 @@ breakpoint_re_set_one (void *bint) @@ -10513,6 +10619,7 @@ breakpoint_re_set_one (void *bint)
case bp_tracepoint: case bp_tracepoint:
case bp_fast_tracepoint: case bp_fast_tracepoint:
case bp_static_tracepoint: case bp_static_tracepoint:
@ -865,7 +865,7 @@ index 656dedd..2a5f761 100644
/* Do not attempt to re-set breakpoints disabled during startup. */ /* Do not attempt to re-set breakpoints disabled during startup. */
if (b->enable_state == bp_startup_disabled) if (b->enable_state == bp_startup_disabled)
return 0; return 0;
@@ -10680,6 +10787,7 @@ breakpoint_re_set_one (void *bint) @@ -10683,6 +10790,7 @@ breakpoint_re_set_one (void *bint)
case bp_exception: case bp_exception:
case bp_exception_resume: case bp_exception_resume:
case bp_jit_event: case bp_jit_event:
@ -873,7 +873,7 @@ index 656dedd..2a5f761 100644
break; break;
} }
@@ -10847,11 +10955,25 @@ map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *, @@ -10850,11 +10958,25 @@ map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *,
ALL_BREAKPOINTS_SAFE (b, tmp) ALL_BREAKPOINTS_SAFE (b, tmp)
if (b->number == num) if (b->number == num)
{ {
@ -903,7 +903,7 @@ index 656dedd..2a5f761 100644
break; break;
} }
if (match == 0) if (match == 0)
@@ -11966,6 +12088,22 @@ all_tracepoints () @@ -11969,6 +12091,22 @@ all_tracepoints ()
return tp_vec; return tp_vec;
} }
@ -926,7 +926,7 @@ index 656dedd..2a5f761 100644
/* This help string is used for the break, hbreak, tbreak and thbreak /* This help string is used for the break, hbreak, tbreak and thbreak
commands. It is defined as a macro to prevent duplication. commands. It is defined as a macro to prevent duplication.
@@ -12051,6 +12189,107 @@ iterate_over_breakpoints (int (*callback) (struct breakpoint *, void *), @@ -12054,6 +12192,107 @@ iterate_over_breakpoints (int (*callback) (struct breakpoint *, void *),
return NULL; return NULL;
} }
@ -1034,7 +1034,7 @@ index 656dedd..2a5f761 100644
void void
_initialize_breakpoint (void) _initialize_breakpoint (void)
{ {
@@ -12585,4 +12824,5 @@ inferior in all-stop mode, gdb behaves as if always-inserted mode is off."), @@ -12588,4 +12827,5 @@ inferior in all-stop mode, gdb behaves as if always-inserted mode is off."),
automatic_hardware_breakpoints = 1; automatic_hardware_breakpoints = 1;
observer_attach_about_to_proceed (breakpoint_about_to_proceed); observer_attach_about_to_proceed (breakpoint_about_to_proceed);
@ -1055,10 +1055,10 @@ index 86fae66..ffef340 100644
/* States of enablement of breakpoint. */ /* States of enablement of breakpoint. */
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index 9909e13..30c3dfe 100644 index c70fa4b..6bc3397 100644
--- a/gdb/c-typeprint.c --- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c
@@ -609,9 +609,14 @@ c_type_print_varspec_suffix (struct type *type, @@ -626,9 +626,14 @@ c_type_print_varspec_suffix (struct type *type,
fprintf_filtered (stream, ")"); fprintf_filtered (stream, ")");
fprintf_filtered (stream, "["); fprintf_filtered (stream, "[");
@ -1710,7 +1710,7 @@ index ee52506..6a77c3f 100644
#endif /* dwarf2loc.h */ #endif /* dwarf2loc.h */
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index f269dee..284a22f 100644 index 837fa3b..327bd70 100644
--- a/gdb/dwarf2read.c --- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c
@@ -1211,6 +1211,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu, @@ -1211,6 +1211,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu,
@ -1934,7 +1934,7 @@ index f269dee..284a22f 100644
char_type = language_string_char_type (cu->language_defn, gdbarch); char_type = language_string_char_type (cu->language_defn, gdbarch);
type = create_string_type (NULL, char_type, range_type); type = create_string_type (NULL, char_type, range_type);
@@ -8185,8 +8296,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -8190,8 +8301,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
struct type *base_type; struct type *base_type;
struct type *range_type; struct type *range_type;
struct attribute *attr; struct attribute *attr;
@ -1944,7 +1944,7 @@ index f269dee..284a22f 100644
char *name; char *name;
LONGEST negative_mask; LONGEST negative_mask;
@@ -8199,53 +8309,126 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -8204,53 +8314,126 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
if (range_type) if (range_type)
return range_type; return range_type;
@ -2106,7 +2106,7 @@ index f269dee..284a22f 100644
} }
/* Dwarf-2 specifications explicitly allows to create subrange types /* Dwarf-2 specifications explicitly allows to create subrange types
@@ -8286,24 +8469,41 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -8291,24 +8474,41 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
} }
} }
@ -2164,7 +2164,7 @@ index f269dee..284a22f 100644
name = dwarf2_name (die, cu); name = dwarf2_name (die, cu);
if (name) if (name)
@@ -10780,10 +10980,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym, @@ -10785,10 +10985,12 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
(i.e. when the value of a register or memory location is (i.e. when the value of a register or memory location is
referenced, or a thread-local block, etc.). Then again, it might referenced, or a thread-local block, etc.). Then again, it might
not be worthwhile. I'm assuming that it isn't unless performance not be worthwhile. I'm assuming that it isn't unless performance
@ -2179,7 +2179,7 @@ index f269dee..284a22f 100644
} }
/* Given a pointer to a DWARF information entry, figure out if we need /* Given a pointer to a DWARF information entry, figure out if we need
@@ -10821,6 +11023,8 @@ new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu, @@ -10826,6 +11028,8 @@ new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
else else
sym = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct symbol); sym = OBSTACK_ZALLOC (&objfile->objfile_obstack, struct symbol);
OBJSTAT (objfile, n_syms++); OBJSTAT (objfile, n_syms++);
@ -2188,7 +2188,7 @@ index f269dee..284a22f 100644
/* Cache this symbol's name and the name's demangled form (if any). */ /* Cache this symbol's name and the name's demangled form (if any). */
SYMBOL_SET_LANGUAGE (sym, cu->language); SYMBOL_SET_LANGUAGE (sym, cu->language);
@@ -11593,6 +11797,9 @@ read_type_die_1 (struct die_info *die, struct dwarf2_cu *cu) @@ -11598,6 +11802,9 @@ read_type_die_1 (struct die_info *die, struct dwarf2_cu *cu)
break; break;
} }
@ -2198,7 +2198,7 @@ index f269dee..284a22f 100644
return this_type; return this_type;
} }
@@ -14405,61 +14612,99 @@ fill_in_loclist_baton (struct dwarf2_cu *cu, @@ -14410,61 +14617,99 @@ fill_in_loclist_baton (struct dwarf2_cu *cu,
baton->base_address = cu->base_address; baton->base_address = cu->base_address;
} }
@ -2341,7 +2341,7 @@ index f269dee..284a22f 100644
} }
} }
@@ -14805,6 +15050,31 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs) @@ -14810,6 +15055,31 @@ offset_and_type_eq (const void *item_lhs, const void *item_rhs)
return ofs_lhs->offset == ofs_rhs->offset; return ofs_lhs->offset == ofs_rhs->offset;
} }
@ -2373,7 +2373,7 @@ index f269dee..284a22f 100644
/* Set the type associated with DIE to TYPE. Save it in CU's hash /* Set the type associated with DIE to TYPE. Save it in CU's hash
table if necessary. For convenience, return TYPE. table if necessary. For convenience, return TYPE.
@@ -14830,6 +15100,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) @@ -14835,6 +15105,8 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
struct objfile *objfile = cu->objfile; struct objfile *objfile = cu->objfile;
htab_t *type_hash_ptr; htab_t *type_hash_ptr;
@ -3254,7 +3254,7 @@ index ad988d2..985fef6 100644
{ {
case TYPE_CODE_ARRAY: case TYPE_CODE_ARRAY:
diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c
index a15e777..4d133bc 100644 index 3280ddc..128d6bc 100644
--- a/gdb/f-valprint.c --- a/gdb/f-valprint.c
+++ b/gdb/f-valprint.c +++ b/gdb/f-valprint.c
@@ -54,15 +54,17 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2]; @@ -54,15 +54,17 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2];
@ -3382,7 +3382,7 @@ index a15e777..4d133bc 100644
fprintf_filtered (stream, "..."); fprintf_filtered (stream, "...");
} }
} }
@@ -263,6 +271,9 @@ f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, @@ -260,6 +268,9 @@ f_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
CORE_ADDR addr; CORE_ADDR addr;
int index; int index;
@ -5485,7 +5485,7 @@ index 75de56c..2a64a0e 100644
/* Handle the case of functions lacking debugging info. /* Handle the case of functions lacking debugging info.
Their values are characters since their addresses are char. */ Their values are characters since their addresses are char. */
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index a855219..1668f95 100644 index cd88df8..48662ba 100644
--- a/gdb/linux-nat.c --- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c +++ b/gdb/linux-nat.c
@@ -1254,6 +1254,64 @@ iterate_over_lwps (ptid_t filter, @@ -1254,6 +1254,64 @@ iterate_over_lwps (ptid_t filter,
@ -5784,7 +5784,7 @@ index 8497991..4635853 100644
SYMBOL_LINKAGE_NAME (tsymbol)) == 0) SYMBOL_LINKAGE_NAME (tsymbol)) == 0)
return SYMBOL_VALUE_ADDRESS (msymbol); return SYMBOL_VALUE_ADDRESS (msymbol);
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index ca7606a..d73f54d 100644 index 8e79070..4f9c0b7 100644
--- a/gdb/p-valprint.c --- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c +++ b/gdb/p-valprint.c
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
@ -5794,8 +5794,8 @@ index ca7606a..d73f54d 100644
+#include "dwarf2loc.h" +#include "dwarf2loc.h"
/* See val_print for a description of the various parameters of this
@@ -68,8 +69,31 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr, @@ -62,8 +63,31 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
struct type *char_type; struct type *char_type;
LONGEST val; LONGEST val;
CORE_ADDR addr; CORE_ADDR addr;
@ -5828,7 +5828,7 @@ index ca7606a..d73f54d 100644
switch (TYPE_CODE (type)) switch (TYPE_CODE (type))
{ {
case TYPE_CODE_ARRAY: case TYPE_CODE_ARRAY:
@@ -125,8 +149,8 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr, @@ -119,8 +143,8 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
{ {
i = 0; i = 0;
} }
@ -5839,7 +5839,7 @@ index ca7606a..d73f54d 100644
original_value, options, i); original_value, options, i);
fprintf_filtered (stream, "}"); fprintf_filtered (stream, "}");
} }
@@ -165,6 +189,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr, @@ -159,6 +183,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
/* Try to print what function it points to. */ /* Try to print what function it points to. */
print_address_demangle (gdbarch, addr, stream, demangle); print_address_demangle (gdbarch, addr, stream, demangle);
/* Return value is irrelevant except for string pointers. */ /* Return value is irrelevant except for string pointers. */
@ -5847,7 +5847,7 @@ index ca7606a..d73f54d 100644
return (0); return (0);
} }
@@ -256,6 +281,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr, @@ -250,6 +275,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
/* Return number of characters printed, including the terminating /* Return number of characters printed, including the terminating
'\0' if we reached the end. val_print_string takes care including '\0' if we reached the end. val_print_string takes care including
the terminating '\0' if necessary. */ the terminating '\0' if necessary. */
@ -5855,7 +5855,7 @@ index ca7606a..d73f54d 100644
return i; return i;
break; break;
@@ -572,6 +598,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr, @@ -566,6 +592,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
TYPE_CODE (type)); TYPE_CODE (type));
} }
gdb_flush (stream); gdb_flush (stream);
@ -7435,10 +7435,10 @@ index 4be8106..081b532 100644
ms_type = 'S'; ms_type = 'S';
break; break;
diff --git a/gdb/symtab.c b/gdb/symtab.c diff --git a/gdb/symtab.c b/gdb/symtab.c
index 68666da..aa45042 100644 index 3105327..cd1e18f 100644
--- a/gdb/symtab.c --- a/gdb/symtab.c
+++ b/gdb/symtab.c +++ b/gdb/symtab.c
@@ -3001,7 +3001,7 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[], @@ -3006,7 +3006,7 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
static const enum minimal_symbol_type types3[] static const enum minimal_symbol_type types3[]
= {mst_file_data, mst_solib_trampoline, mst_abs, mst_unknown}; = {mst_file_data, mst_solib_trampoline, mst_abs, mst_unknown};
static const enum minimal_symbol_type types4[] static const enum minimal_symbol_type types4[]
@ -7448,7 +7448,7 @@ index 68666da..aa45042 100644
enum minimal_symbol_type ourtype2; enum minimal_symbol_type ourtype2;
enum minimal_symbol_type ourtype3; enum minimal_symbol_type ourtype3;
diff --git a/gdb/symtab.h b/gdb/symtab.h diff --git a/gdb/symtab.h b/gdb/symtab.h
index e4ec4bf..754d89d 100644 index e946c65..f40e3d4 100644
--- a/gdb/symtab.h --- a/gdb/symtab.h
+++ b/gdb/symtab.h +++ b/gdb/symtab.h
@@ -290,6 +290,9 @@ enum minimal_symbol_type @@ -290,6 +290,9 @@ enum minimal_symbol_type
@ -7461,7 +7461,7 @@ index e4ec4bf..754d89d 100644
mst_data, /* Generally initialized data */ mst_data, /* Generally initialized data */
mst_bss, /* Generally uninitialized data */ mst_bss, /* Generally uninitialized data */
mst_abs, /* Generally absolute (nonrelocatable) */ mst_abs, /* Generally absolute (nonrelocatable) */
@@ -956,11 +959,25 @@ extern struct symbol *find_pc_sect_function (CORE_ADDR, struct obj_section *); @@ -955,11 +958,25 @@ extern struct symbol *find_pc_sect_function (CORE_ADDR, struct obj_section *);
/* lookup function from address, return name, start addr and end addr. */ /* lookup function from address, return name, start addr and end addr. */
@ -7489,7 +7489,7 @@ index e4ec4bf..754d89d 100644
/* lookup partial symbol table by address and section. */ /* lookup partial symbol table by address and section. */
extern struct symtab *find_pc_sect_symtab_via_partial (CORE_ADDR, extern struct symtab *find_pc_sect_symtab_via_partial (CORE_ADDR,
@@ -1035,6 +1052,8 @@ extern struct minimal_symbol *lookup_minimal_symbol_by_pc_name @@ -1034,6 +1051,8 @@ extern struct minimal_symbol *lookup_minimal_symbol_by_pc_name
extern struct minimal_symbol *lookup_minimal_symbol_by_pc (CORE_ADDR); extern struct minimal_symbol *lookup_minimal_symbol_by_pc (CORE_ADDR);
@ -12141,7 +12141,7 @@ index 24c2269..21fb35f 100644
{ {
int i; int i;
diff --git a/gdb/valprint.c b/gdb/valprint.c diff --git a/gdb/valprint.c b/gdb/valprint.c
index b6b96d4..934bf9c 100644 index b32d6fc..7319c5d 100644
--- a/gdb/valprint.c --- a/gdb/valprint.c
+++ b/gdb/valprint.c +++ b/gdb/valprint.c
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
@ -12160,7 +12160,7 @@ index b6b96d4..934bf9c 100644
case TYPE_CODE_BITSTRING: case TYPE_CODE_BITSTRING:
return 0; return 0;
default: default:
@@ -1165,6 +1165,7 @@ val_print_array_elements (struct type *type, @@ -1173,6 +1173,7 @@ val_print_array_elements (struct type *type,
{ {
unsigned int things_printed = 0; unsigned int things_printed = 0;
unsigned len; unsigned len;
@ -12168,7 +12168,7 @@ index b6b96d4..934bf9c 100644
struct type *elttype, *index_type; struct type *elttype, *index_type;
unsigned eltlen; unsigned eltlen;
/* Position of the array element we are examining to see /* Position of the array element we are examining to see
@@ -1173,9 +1174,33 @@ val_print_array_elements (struct type *type, @@ -1181,9 +1182,33 @@ val_print_array_elements (struct type *type,
/* Number of repetitions we have detected so far. */ /* Number of repetitions we have detected so far. */
unsigned int reps; unsigned int reps;
LONGEST low_bound, high_bound; LONGEST low_bound, high_bound;
@ -12204,7 +12204,7 @@ index b6b96d4..934bf9c 100644
index_type = TYPE_INDEX_TYPE (type); index_type = TYPE_INDEX_TYPE (type);
if (get_array_bounds (type, &low_bound, &high_bound)) if (get_array_bounds (type, &low_bound, &high_bound))
@@ -1254,6 +1279,8 @@ val_print_array_elements (struct type *type, @@ -1262,6 +1287,8 @@ val_print_array_elements (struct type *type,
{ {
fprintf_filtered (stream, "..."); fprintf_filtered (stream, "...");
} }

View File

@ -0,0 +1,68 @@
http://sourceware.org/ml/gdb-patches/2011-02/msg00234.html
Subject: Re: [rfa/rfc] Build libcommon.a for gdb and gdbserver
This is a multi-part message in MIME format.
--------------030200050701050508020307
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On 02/12/2011 02:47 AM, Tom Tromey wrote:
> common/Makefile.in doesn't have a copyright header.
> I didn't check the other files.
>
Add a copyright header to common/Makefile.in. Other files have
copyright header. Applied as obvious.
> "make info" now fails. I didn't check other subdir targets in
> gdb/Makefile.in. Automake would solve this plus some other things
> ... :-)
Add some more targets in common/Makefile.in in this patch. `make
{info,pdf,html,dvi}' works.
--
Yao (齐尧)
--------------030200050701050508020307
Content-Type: text/x-patch;
name="more-targets.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="more-targets.patch"
common/
* Makefile.in: Add more targets for make.
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/common/Makefile.in,v
retrieving revision 1.1
diff -u -r1.1 Makefile.in
--- ./gdb/common/Makefile.in 11 Feb 2011 09:57:25 -0000 1.1
+++ ./gdb/common/Makefile.in 12 Feb 2011 02:54:15 -0000
@@ -74,3 +91,20 @@
distclean maintainer-clean realclean: clean
-rm -f *~
-rm -f Makefile config.status config.log
+
+.PHONY: install
+install: all
+
+.PHONY: install-only
+install-only:
+
+.PHONY: uninstall
+uninstall:
+
+.PHONY: check installcheck info dvi pdf html
+.PHONY: install-info install-pdf install-html clean-info
+check installcheck:
+info dvi pdf html:
+install-info install-pdf install-html:
+clean-info:
+
--------------030200050701050508020307--

206
gdb-upstream.patch Normal file
View File

@ -0,0 +1,206 @@
http://sourceware.org/ml/gdb-cvs/2011-02/msg00063.html
### src/gdb/ChangeLog 2011/02/12 13:07:38 1.12557
### src/gdb/ChangeLog 2011/02/13 09:09:33 1.12558
## -1,3 +1,9 @@
+2011-02-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * symtab.c (find_pc_sect_line): New variable objfile, initialize it
+ from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S.
+ * symtab.h (struct symtab) <next>: Comment extension.
+
2011-02-12 Yao Qi <yao@codesourcery.com>
* Makefile.in (CLEANDIRS): Remove duplicated common dir.
--- src/gdb/symtab.c 2011/01/11 21:53:24 1.257
+++ src/gdb/symtab.c 2011/02/13 09:09:36 1.258
@@ -1904,6 +1904,7 @@
struct blockvector *bv;
struct minimal_symbol *msymbol;
struct minimal_symbol *mfunsym;
+ struct objfile *objfile;
/* Info on best line seen so far, and where it starts, and its file. */
@@ -2031,13 +2032,17 @@
}
bv = BLOCKVECTOR (s);
+ objfile = s->objfile;
/* Look at all the symtabs that share this blockvector.
They all have the same apriori range, that we found was right;
but they have different line tables. */
- for (; s && BLOCKVECTOR (s) == bv; s = s->next)
+ ALL_OBJFILE_SYMTABS (objfile, s)
{
+ if (BLOCKVECTOR (s) != bv)
+ continue;
+
/* Find the best line in this symtab. */
l = LINETABLE (s);
if (!l)
--- src/gdb/symtab.h 2011/01/11 21:53:25 1.168
+++ src/gdb/symtab.h 2011/02/13 09:09:36 1.169
@@ -738,8 +738,7 @@
struct symtab
{
-
- /* Chain of all existing symtabs. */
+ /* Unordered chain of all existing symtabs of this objfile. */
struct symtab *next;
http://sourceware.org/ml/gdb-cvs/2011-02/msg00064.html
### src/gdb/ChangeLog 2011/02/13 09:09:33 1.12558
### src/gdb/ChangeLog 2011/02/13 09:15:50 1.12559
## -1,5 +1,12 @@
2011-02-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+ Fix const/volatile qualifiers of C++ types, PR c++/12328.
+ * c-typeprint.c (c_type_print_args): Update the function comment. New
+ variable param_type, initialize it. Remove const/volatile qualifiers
+ for language_cplus and !show_artificial. Use param_type.
+
+2011-02-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+
* symtab.c (find_pc_sect_line): New variable objfile, initialize it
from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S.
* symtab.h (struct symtab) <next>: Comment extension.
--- src/gdb/c-typeprint.c 2011/01/07 19:36:15 1.68
+++ src/gdb/c-typeprint.c 2011/02/13 09:15:53 1.69
@@ -388,9 +388,12 @@
/* Print out the arguments of TYPE, which should have TYPE_CODE_METHOD
or TYPE_CODE_FUNC, to STREAM. Artificial arguments, such as "this"
in non-static methods, are displayed if SHOW_ARTIFICIAL is
- non-zero. LANGUAGE is the language in which TYPE was defined.
- This is a necessary evil since this code is used by the C, C++, and
- Java backends. */
+ non-zero. If SHOW_ARTIFICIAL is zero and LANGUAGE is language_cplus
+ the topmost parameter types get removed their possible const and volatile
+ qualifiers to match demangled linkage name parameters part of such function
+ type. LANGUAGE is the language in which TYPE was defined. This is
+ a necessary evil since this code is used by the C, C++, and Java backends.
+ */
void
c_type_print_args (struct type *type, struct ui_file *stream,
@@ -406,6 +409,8 @@
for (i = 0; i < TYPE_NFIELDS (type); i++)
{
+ struct type *param_type;
+
if (TYPE_FIELD_ARTIFICIAL (type, i) && !show_artificial)
continue;
@@ -415,12 +420,24 @@
wrap_here (" ");
}
+ param_type = TYPE_FIELD_TYPE (type, i);
+
+ if (language == language_cplus && !show_artificial)
+ {
+ /* C++ standard, 13.1 Overloadable declarations, point 3, item:
+ - Parameter declarations that differ only in the presence or
+ absence of const and/or volatile are equivalent.
+
+ And the const/volatile qualifiers are not present in the mangled
+ names as produced by GCC. */
+
+ param_type = make_cv_type (0, 0, param_type, NULL);
+ }
+
if (language == language_java)
- java_print_type (TYPE_FIELD_TYPE (type, i),
- "", stream, -1, 0);
+ java_print_type (param_type, "", stream, -1, 0);
else
- c_print_type (TYPE_FIELD_TYPE (type, i),
- "", stream, -1, 0);
+ c_print_type (param_type, "", stream, -1, 0);
printed_any = 1;
}
### src/gdb/testsuite/ChangeLog 2011/02/08 13:30:08 1.2576
### src/gdb/testsuite/ChangeLog 2011/02/13 09:15:53 1.2577
## -1,3 +1,9 @@
+2011-02-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix const/volatile qualifiers of C++ types, PR c++/12328.
+ * gdb.cp/overload-const.exp: New file.
+ * gdb.cp/overload-const.cc: New file.
+
2011-02-08 Ulrich Weigand <uweigand@de.ibm.com>
* gdb.opencl/callfuncs.cl: New file.
--- src/gdb/testsuite/gdb.cp/overload-const.cc
+++ src/gdb/testsuite/gdb.cp/overload-const.cc 2011-02-13 17:47:15.587780000 +0000
@@ -0,0 +1,28 @@
+/* This test case is part of GDB, the GNU debugger.
+
+ Copyright 2011 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/>. */
+
+class myclass
+{
+public:
+ static void func(const int aa) {}
+};
+
+int
+main ()
+{
+ myclass::func (42);
+}
--- src/gdb/testsuite/gdb.cp/overload-const.exp
+++ src/gdb/testsuite/gdb.cp/overload-const.exp 2011-02-13 17:47:15.884698000 +0000
@@ -0,0 +1,29 @@
+# Copyright 2011 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/>.
+
+# This file is part of the gdb testsuite.
+
+if {[skip_cplus_tests]} { continue }
+
+set testfile "overload-const"
+if [prepare_for_testing $testfile $testfile $testfile.cc {c++ debug}] {
+ return -1
+}
+
+gdb_test_no_output "set language c++"
+
+if [gdb_breakpoint "myclass::func"] {
+ pass "setting breakpoint at myclass::func"
+}

View File

@ -23,11 +23,11 @@ Name: gdb%{?_with_debug:-debug}
# Set version to contents of gdb/version.in. # Set version to contents of gdb/version.in.
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch). # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
Version: 7.2.50.20110206 Version: 7.2.50.20110213
# The release always contains a leading reserved number, start it at 1. # The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 19%{?_with_upstream:.upstream}%{?dist} Release: 20%{?_with_upstream:.upstream}%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and GFDL and BSD and Public Domain License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and GFDL and BSD and Public Domain
Group: Development/Debuggers Group: Development/Debuggers
@ -263,7 +263,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
# Backported fixups post the source tarball. # Backported fixups post the source tarball.
#Xdrop: Just backports. #Xdrop: Just backports.
#Patch232: gdb-upstream.patch Patch232: gdb-upstream.patch
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
#=fedoratest+ppc #=fedoratest+ppc
@ -557,6 +557,10 @@ Patch565: gdb-physname-pr11734-1of2.patch
Patch566: gdb-physname-pr11734-2of2.patch Patch566: gdb-physname-pr11734-2of2.patch
Patch567: gdb-physname-pr12273.patch Patch567: gdb-physname-pr12273.patch
# Temporary HEAD compilation fix.
# =drop
Patch568: gdb-compile-doc-info.patch
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa} BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
Requires: readline%{?_isa} Requires: readline%{?_isa}
BuildRequires: readline-devel%{?_isa} BuildRequires: readline-devel%{?_isa}
@ -698,7 +702,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%if 0%{!?_with_upstream:1} %if 0%{!?_with_upstream:1}
#patch232 -p1 %patch232 -p1
%patch349 -p1 %patch349 -p1
%patch1 -p1 %patch1 -p1
%patch3 -p1 %patch3 -p1
@ -813,6 +817,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch565 -p1 %patch565 -p1
%patch566 -p1 %patch566 -p1
%patch567 -p1 %patch567 -p1
%patch568 -p1
%patch390 -p1 %patch390 -p1
%patch393 -p1 %patch393 -p1
@ -912,7 +917,7 @@ $(: RHEL-5 librpm has incompatible API. ) \
%if 0%{?el5:1} %if 0%{?el5:1}
--without-rpm \ --without-rpm \
%else %else
%if 0%{?el6:1} %if 0%{?el6:1} || (0%{?fedora} && 0%{?fedora} <= 14)
--with-rpm=librpm.so.1 \ --with-rpm=librpm.so.1 \
%else %else
--with-rpm=librpm.so.2 \ --with-rpm=librpm.so.2 \
@ -1219,7 +1224,13 @@ fi
%endif %endif
%changelog %changelog
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2.50.20110206-19 * Sun Feb 13 2011 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20110213-20.fc15
- Rebase to FSF GDB 7.2.50.20110213 (which is a 7.3 pre-release).
- Fix occasionall unfound source lines (affecting at least glibc debugging).
- Fix const/volatile qualifiers of C++ types (PR c++/12328).
- Be backward compatible for --rebuild with <=fc14 librpm.so.1.
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.2.50.20110206-19.fc15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Feb 6 2011 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20110206-18.fc15 * Sun Feb 6 2011 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20110206-18.fc15

View File

@ -1,2 +1,2 @@
04e5c4b1b9e633422cc48990fe61958d libstdc++-v3-python-r155978.tar.bz2 04e5c4b1b9e633422cc48990fe61958d libstdc++-v3-python-r155978.tar.bz2
aadb7bb3d6f959ec04c381fef8103533 gdb-7.2.50.20110206.tar.bz2 626f2ecdf94c65ec5b8f2359f3488d96 gdb-7.2.50.20110213.tar.bz2