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

- Remove gdb-6.3-bt-past-zero-20051201.patch, gdb-archer-ada.patch and
  gdb-6.3-framepczero-20040927.patch already removed from .spec before.
- Remove gdb-6.5-dwarf-stack-overflow.patch, upstreamed (Tom Tromey).
- Remove gdb-6.6-bz225783-gdb-debuginfo-paths.patch, upstreamed (Tom Tromey).
- Remove gdb-6.6-readline-system.patch, reimplemented upstream (Tom Tromey).
- Remove gdb-bz642879-elfread-sigint-stale.patch, upstreamed (Jan Kratochvil).
- Remove gdb-next-over-throw.patch, upstreamed (Tom Tromey).
This commit is contained in:
Jan Kratochvil 2011-01-01 01:27:30 +01:00
parent a56307ebf7
commit 6fa2f55b27
20 changed files with 2095 additions and 2639 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
gdb-7.2.50.20101117.tar.bz2 /gdb-7.2.50.20101231.tar.bz2

View File

@ -1,88 +0,0 @@
2005-12-01 Jeff Johnston <jjohnstn@redhat.com>
* frame.c (backtrace_past_zero_pc): New static variable.
(get_prev_frame): Don't return NULL for zero pc value if
backtrace past-zero-frame option is turned on.
(_initialize_frame): Initialize new command to allow backtracing
past a zero pc value (set backtrace past-zero-pc).
testsuite/gdb.base:
2005-12-01 Jeff Johnston <jjohnstn@redhat.com>
* setshow.exp: Add testing of "set backtrace past-zero-pc" option.
2007-10-15 Jan Kratochvil <jan.kratochvil@redhat.com>
Port to GDB-6.7.
Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.base/setshow.exp
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/testsuite/gdb.base/setshow.exp 2010-06-11 22:56:06.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.base/setshow.exp 2010-07-12 10:46:06.000000000 +0200
@@ -96,6 +96,16 @@ if { ![target_info exists use_gdb_stub]
delete_breakpoints
gdb_test "run" "Starting program:.*foo bar blup baz bubble.*" "passing args"
}
+#test show backtrace past-zero-pc
+gdb_test "show backtrace past-zero-pc" "Whether backtraces should continue past a zero pc value is off." "default show backtrace past-zero-pc (off)"
+#test set backtrace past-zero-pc on
+gdb_test "set backtrace past-zero-pc on" "" "set backtrace past-zero-pc on"
+#test show backtrace past-zero-pc
+gdb_test "show backtrace past-zero-pc" "Whether backtraces should continue past a zero pc value is on." "show backtrace past-zero-pc (on)"
+#test set backtrace past-zero-pc off
+gdb_test "set backtrace past-zero-pc off" "" "set backtrace past-zero-pc off"
+#test show backtrace past-zero-pc
+gdb_test "show backtrace past-zero-pc" "Whether backtraces should continue past a zero pc value is off." "show backtrace past-zero-pc (off)"
#test set check range on
gdb_test "set check range on" ".*" "set check range on"
#test show check range on
Index: gdb-7.1.90.20100711/gdb/frame.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/frame.c 2010-07-12 10:00:56.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/frame.c 2010-07-12 10:45:18.000000000 +0200
@@ -185,6 +185,16 @@ Whether backtraces should continue past
value);
}
+static int backtrace_past_zero_pc;
+static void
+show_backtrace_past_zero_pc (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
+{
+ fprintf_filtered (file, _("\
+Whether backtraces should continue past a zero pc value is %s.\n"),
+ value);
+}
+
static int backtrace_past_entry;
static void
show_backtrace_past_entry (struct ui_file *file, int from_tty,
@@ -1784,9 +1794,7 @@ get_prev_frame (struct frame_info *this_
}
if (this_frame->level > 0
-#if 0
- && backtrace_past_zero_pc
-#endif
+ && !backtrace_past_zero_pc
&& get_frame_type (this_frame) == NORMAL_FRAME
&& get_frame_type (get_next_frame (this_frame)) == NORMAL_FRAME
&& get_frame_pc (this_frame) == 0)
@@ -2271,6 +2279,17 @@ the rest of the stack trace."),
&set_backtrace_cmdlist,
&show_backtrace_cmdlist);
+ add_setshow_boolean_cmd ("past-zero-pc", class_obscure,
+ &backtrace_past_zero_pc, _("\
+Set whether backtraces should continue past a zero pc value."), _("\
+Show whether backtraces should continue past a zero pc value."), _("\
+Normally GDB stops backtracing when it finds a zero pc.\n\
+Set this variable if you need to see the rest of the stack trace."),
+ NULL,
+ show_backtrace_past_zero_pc,
+ &set_backtrace_cmdlist,
+ &show_backtrace_cmdlist);
+
add_setshow_integer_cmd ("limit", class_obscure,
&backtrace_limit, _("\
Set an upper bound on the number of backtrace levels."), _("\

View File

@ -1,28 +0,0 @@
2004-09-27 Andrew Cagney <cagney@gnu.org>
* frame.c (get_prev_frame): Stop backtrace when a zero PC and
successive normal frames.
Index: gdb-6.8.50.20081128/gdb/frame.c
===================================================================
--- gdb-6.8.50.20081128.orig/gdb/frame.c 2008-12-04 01:34:37.000000000 +0100
+++ gdb-6.8.50.20081128/gdb/frame.c 2008-12-04 01:35:47.000000000 +0100
@@ -1566,6 +1566,18 @@ get_prev_frame (struct frame_info *this_
return NULL;
}
+ if (this_frame->level > 0
+#if 0
+ && backtrace_past_zero_pc
+#endif
+ && get_frame_type (this_frame) == NORMAL_FRAME
+ && get_frame_type (get_next_frame (this_frame)) == NORMAL_FRAME
+ && get_frame_pc (this_frame) == 0)
+ {
+ frame_debug_got_null_frame (this_frame, "zero PC");
+ return NULL;
+ }
+
return get_prev_frame_1 (this_frame);
}

View File

@ -12,10 +12,10 @@ gdb/testsuite:
* gdb.arch/ia64-sigill.c: New test. * gdb.arch/ia64-sigill.c: New test.
* gdb.arch/ia64-sigill.exp: Ditto. * gdb.arch/ia64-sigill.exp: Ditto.
Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.exp Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.exp
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.exp 2008-12-02 21:10:57.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.exp 2011-01-01 00:55:04.000000000 +0100
@@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
+# Copyright 2005 Free Software Foundation, Inc. +# Copyright 2005 Free Software Foundation, Inc.
+ +
@ -66,10 +66,10 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.exp
+gdb_test "handle SIGILL nostop noprint" "SIGILL.*No.*No.*Yes.*" "handle sigill" +gdb_test "handle SIGILL nostop noprint" "SIGILL.*No.*No.*Yes.*" "handle sigill"
+gdb_test "run" "Starting program.*ia64-sigill.*\[New thread.*\].*hello world.*Program exited normally." "run to exit" +gdb_test "run" "Starting program.*ia64-sigill.*\[New thread.*\].*hello world.*Program exited normally." "run to exit"
+ +
Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.c Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.c
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.c 2008-12-02 21:10:57.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/testsuite/gdb.arch/ia64-sigill.c 2011-01-01 00:55:04.000000000 +0100
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
+#include <stdio.h> +#include <stdio.h>
+ +
@ -79,11 +79,11 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.c
+ return 0; + return 0;
+} +}
+ +
Index: gdb-6.8.50.20081128/gdb/linux-nat.c Index: gdb-7.2.50.20101231/gdb/linux-nat.c
=================================================================== ===================================================================
--- gdb-6.8.50.20081128.orig/gdb/linux-nat.c 2008-12-02 19:04:38.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/linux-nat.c 2011-01-01 00:54:04.000000000 +0100
+++ gdb-6.8.50.20081128/gdb/linux-nat.c 2008-12-02 21:11:11.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/linux-nat.c 2011-01-01 00:55:58.000000000 +0100
@@ -2974,7 +2974,8 @@ retry: @@ -3652,7 +3652,8 @@ retry:
threads can be a bit time-consuming so if we want decent threads can be a bit time-consuming so if we want decent
performance with heavily multi-threaded programs, especially when performance with heavily multi-threaded programs, especially when
they're using a high frequency timer, we'd better avoid it if we they're using a high frequency timer, we'd better avoid it if we
@ -93,8 +93,8 @@ Index: gdb-6.8.50.20081128/gdb/linux-nat.c
if (WIFSTOPPED (status)) if (WIFSTOPPED (status))
{ {
@@ -2992,7 +2993,9 @@ retry: @@ -3670,7 +3671,9 @@ retry:
&& inf->stop_soon == NO_STOP_QUIETLY && inf->control.stop_soon == NO_STOP_QUIETLY
&& signal_stop_state (signo) == 0 && signal_stop_state (signo) == 0
&& signal_print_state (signo) == 0 && signal_print_state (signo) == 0
- && signal_pass_state (signo) == 1) - && signal_pass_state (signo) == 1)

View File

@ -11,11 +11,11 @@
* gdb.texinfo (File Options): Document --readnever. * gdb.texinfo (File Options): Document --readnever.
Index: gdb-7.2.50.20101116/gdb/doc/gdb.texinfo Index: gdb-7.2.50.20101231/gdb/doc/gdb.texinfo
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/doc/gdb.texinfo 2010-11-12 21:49:41.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/doc/gdb.texinfo 2010-12-29 09:01:31.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/doc/gdb.texinfo 2010-11-16 07:59:31.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/doc/gdb.texinfo 2011-01-01 00:54:07.000000000 +0100
@@ -1001,6 +1001,12 @@ Read each symbol file's entire symbol ta @@ -1007,6 +1007,12 @@ Read each symbol file's entire symbol ta
the default, which is to read it incrementally as it is needed. the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster. This makes startup slower, but makes future operations faster.
@ -28,11 +28,11 @@ Index: gdb-7.2.50.20101116/gdb/doc/gdb.texinfo
@end table @end table
@node Mode Options @node Mode Options
Index: gdb-7.2.50.20101116/gdb/main.c Index: gdb-7.2.50.20101231/gdb/main.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/main.c 2010-11-16 07:59:20.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/main.c 2011-01-01 00:53:09.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/main.c 2010-11-16 07:59:59.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/main.c 2011-01-01 00:54:07.000000000 +0100
@@ -390,6 +390,7 @@ captured_main (void *data) @@ -391,6 +391,7 @@ captured_main (void *data)
{"xdb", no_argument, &xdb_commands, 1}, {"xdb", no_argument, &xdb_commands, 1},
{"dbx", no_argument, &dbx_commands, 1}, {"dbx", no_argument, &dbx_commands, 1},
{"readnow", no_argument, &readnow_symbol_files, 1}, {"readnow", no_argument, &readnow_symbol_files, 1},
@ -40,7 +40,7 @@ Index: gdb-7.2.50.20101116/gdb/main.c
{"r", no_argument, &readnow_symbol_files, 1}, {"r", no_argument, &readnow_symbol_files, 1},
{"quiet", no_argument, &quiet, 1}, {"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1}, {"q", no_argument, &quiet, 1},
@@ -982,6 +983,7 @@ Options:\n\n\ @@ -993,6 +994,7 @@ Options:\n\n\
fputs_unfiltered (_(" file.\n\ fputs_unfiltered (_(" file.\n\
--quiet Do not print version number on startup.\n\ --quiet Do not print version number on startup.\n\
--readnow Fully read symbol files on first access.\n\ --readnow Fully read symbol files on first access.\n\
@ -48,10 +48,10 @@ Index: gdb-7.2.50.20101116/gdb/main.c
"), stream); "), stream);
fputs_unfiltered (_("\ fputs_unfiltered (_("\
--se=FILE Use FILE as symbol file and executable file.\n\ --se=FILE Use FILE as symbol file and executable file.\n\
Index: gdb-7.2.50.20101116/gdb/symfile.c Index: gdb-7.2.50.20101231/gdb/symfile.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/symfile.c 2010-10-17 20:49:46.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/symfile.c 2010-11-23 01:59:58.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/symfile.c 2010-11-16 07:59:31.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/symfile.c 2011-01-01 00:54:07.000000000 +0100
@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup ( @@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
/* Global variables owned by this file */ /* Global variables owned by this file */
@ -60,10 +60,10 @@ Index: gdb-7.2.50.20101116/gdb/symfile.c
/* External variables and functions referenced. */ /* External variables and functions referenced. */
Index: gdb-7.2.50.20101116/gdb/dwarf2read.c Index: gdb-7.2.50.20101231/gdb/dwarf2read.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/dwarf2read.c 2010-11-16 07:54:02.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/dwarf2read.c 2011-01-01 00:41:51.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/dwarf2read.c 2010-11-16 08:00:18.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/dwarf2read.c 2011-01-01 00:54:07.000000000 +0100
@@ -57,6 +57,7 @@ @@ -57,6 +57,7 @@
#include "vec.h" #include "vec.h"
#include "c-lang.h" #include "c-lang.h"
@ -72,7 +72,7 @@ Index: gdb-7.2.50.20101116/gdb/dwarf2read.c
#include <fcntl.h> #include <fcntl.h>
#include "gdb_string.h" #include "gdb_string.h"
@@ -1356,8 +1357,9 @@ dwarf2_has_info (struct objfile *objfile @@ -1345,8 +1346,9 @@ dwarf2_has_info (struct objfile *objfile
bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, NULL); bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, NULL);
dwarf2_per_objfile->objfile = objfile; dwarf2_per_objfile->objfile = objfile;
} }
@ -84,15 +84,15 @@ Index: gdb-7.2.50.20101116/gdb/dwarf2read.c
} }
/* When loading sections, we can either look for ".<name>", or for /* When loading sections, we can either look for ".<name>", or for
Index: gdb-7.2.50.20101116/gdb/top.h Index: gdb-7.2.50.20101231/gdb/top.h
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/top.h 2010-04-07 18:54:39.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/top.h 2010-12-29 01:58:14.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/top.h 2010-11-16 07:59:31.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/top.h 2011-01-01 00:54:21.000000000 +0100
@@ -61,6 +61,7 @@ extern void set_prompt (char *); @@ -61,6 +61,7 @@ extern void set_prompt (char *);
/* From random places. */ /* From random places. */
extern int readnow_symbol_files; extern int readnow_symbol_files;
+extern int readnever_symbol_files; +extern int readnever_symbol_files;
/* Perform _initialize initialization */ /* Perform _initialize initialization. */
extern void gdb_init (char *); extern void gdb_init (char *);

View File

@ -19,10 +19,10 @@ Proposed upstream but never committed upstream.
(source_command): Update documentation. Check permissions if (source_command): Update documentation. Check permissions if
FROM_TTY is -1. FROM_TTY is -1.
Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c Index: gdb-7.2.50.20101231/gdb/cli/cli-cmds.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100720.orig/gdb/cli/cli-cmds.c 2010-05-17 21:28:12.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/cli/cli-cmds.c 2010-12-29 03:11:04.000000000 +0100
+++ gdb-7.1.90.20100720/gdb/cli/cli-cmds.c 2010-07-21 20:30:30.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/cli/cli-cmds.c 2011-01-01 00:53:51.000000000 +0100
@@ -39,6 +39,7 @@ @@ -39,6 +39,7 @@
#include "source.h" #include "source.h"
#include "disasm.h" #include "disasm.h"
@ -31,7 +31,7 @@ Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
#include "ui-out.h" #include "ui-out.h"
@@ -487,7 +488,7 @@ Script filename extension recognition is @@ -488,7 +489,7 @@ Script filename extension recognition is
int int
find_and_open_script (const char *script_file, int search_path, find_and_open_script (const char *script_file, int search_path,
@ -40,7 +40,7 @@ Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
{ {
char *file; char *file;
int fd; int fd;
@@ -513,6 +514,32 @@ find_and_open_script (const char *script @@ -514,6 +515,32 @@ find_and_open_script (const char *script
return 0; return 0;
} }
@ -73,7 +73,7 @@ Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
do_cleanups (old_cleanups); do_cleanups (old_cleanups);
*streamp = fdopen (fd, FOPEN_RT); *streamp = fdopen (fd, FOPEN_RT);
@@ -572,13 +599,14 @@ source_script_with_search (const char *f @@ -573,13 +600,14 @@ source_script_with_search (const char *f
if (file == NULL || *file == 0) if (file == NULL || *file == 0)
error (_("source command requires file name of file to source.")); error (_("source command requires file name of file to source."));
@ -81,19 +81,19 @@ Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
+ if (!find_and_open_script (file, search_path, &stream, &full_path, + if (!find_and_open_script (file, search_path, &stream, &full_path,
+ from_tty)) + from_tty))
{ {
/* The script wasn't found, or was otherwise inaccessible. /* The script wasn't found, or was otherwise inaccessible.
If the source command was invoked interactively, throw an error. If the source command was invoked interactively, throw an
Otherwise (e.g. if it was invoked by a script), silently ignore error. Otherwise (e.g. if it was invoked by a script),
the error. */ silently ignore the error. */
- if (from_tty) - if (from_tty)
+ if (from_tty > 0) + if (from_tty > 0)
perror_with_name (file); perror_with_name (file);
else else
return; return;
Index: gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.exp Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.exp
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.exp 2010-07-20 22:25:40.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.exp 2011-01-01 00:53:09.000000000 +0100
@@ -0,0 +1,91 @@ @@ -0,0 +1,91 @@
+# Copyright 2005 +# Copyright 2005
+# Free Software Foundation, Inc. +# Free Software Foundation, Inc.
@ -186,17 +186,17 @@ Index: gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.exp
+} +}
+ +
+remote_exec build "rm .gdbinit" +remote_exec build "rm .gdbinit"
Index: gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.sample Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.sample
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.1.90.20100720/gdb/testsuite/gdb.base/gdbinit.sample 2010-07-20 22:25:40.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/testsuite/gdb.base/gdbinit.sample 2011-01-01 00:53:09.000000000 +0100
@@ -0,0 +1 @@ @@ -0,0 +1 @@
+echo "\nin gdbinit" +echo "\nin gdbinit"
Index: gdb-7.1.90.20100720/gdb/main.c Index: gdb-7.2.50.20101231/gdb/main.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100720.orig/gdb/main.c 2010-06-26 08:44:47.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/main.c 2010-12-29 01:58:14.000000000 +0100
+++ gdb-7.1.90.20100720/gdb/main.c 2010-07-21 20:09:03.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/main.c 2011-01-01 00:53:09.000000000 +0100
@@ -794,7 +794,7 @@ Excess command line arguments ignored. ( @@ -805,7 +805,7 @@ Excess command line arguments ignored. (
debugging or what directory you are in. */ debugging or what directory you are in. */
if (home_gdbinit && !inhibit_gdbinit) if (home_gdbinit && !inhibit_gdbinit)
@ -205,7 +205,7 @@ Index: gdb-7.1.90.20100720/gdb/main.c
/* Now perform all the actions indicated by the arguments. */ /* Now perform all the actions indicated by the arguments. */
if (cdarg != NULL) if (cdarg != NULL)
@@ -868,7 +868,7 @@ Can't attach to process and specify a co @@ -880,7 +880,7 @@ Can't attach to process and specify a co
/* Read the .gdbinit file in the current directory, *if* it isn't /* Read the .gdbinit file in the current directory, *if* it isn't
the same as the $HOME/.gdbinit file (it should exist, also). */ the same as the $HOME/.gdbinit file (it should exist, also). */
if (local_gdbinit && !inhibit_gdbinit) if (local_gdbinit && !inhibit_gdbinit)
@ -214,11 +214,11 @@ Index: gdb-7.1.90.20100720/gdb/main.c
/* Now that all .gdbinit's have been read and all -d options have been /* Now that all .gdbinit's have been read and all -d options have been
processed, we can read any scripts mentioned in SYMARG. processed, we can read any scripts mentioned in SYMARG.
Index: gdb-7.1.90.20100720/gdb/python/py-auto-load.c Index: gdb-7.2.50.20101231/gdb/python/py-auto-load.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100720.orig/gdb/python/py-auto-load.c 2010-05-17 23:23:25.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/python/py-auto-load.c 2010-12-15 18:27:59.000000000 +0100
+++ gdb-7.1.90.20100720/gdb/python/py-auto-load.c 2010-07-20 22:25:40.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/python/py-auto-load.c 2011-01-01 00:53:09.000000000 +0100
@@ -219,7 +219,7 @@ source_section_scripts (struct objfile * @@ -224,7 +224,7 @@ source_section_scripts (struct objfile *
} }
opened = find_and_open_script (file, 1 /*search_path*/, opened = find_and_open_script (file, 1 /*search_path*/,
@ -227,10 +227,10 @@ Index: gdb-7.1.90.20100720/gdb/python/py-auto-load.c
/* If the file is not found, we still record the file in the hash table, /* If the file is not found, we still record the file in the hash table,
we only want to print an error message once. we only want to print an error message once.
Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.h Index: gdb-7.2.50.20101231/gdb/cli/cli-cmds.h
=================================================================== ===================================================================
--- gdb-7.1.90.20100720.orig/gdb/cli/cli-cmds.h 2010-05-03 01:52:14.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/cli/cli-cmds.h 2010-12-29 03:11:04.000000000 +0100
+++ gdb-7.1.90.20100720/gdb/cli/cli-cmds.h 2010-07-20 22:25:40.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/cli/cli-cmds.h 2011-01-01 00:53:09.000000000 +0100
@@ -126,7 +126,8 @@ extern void source_script (char *, int); @@ -126,7 +126,8 @@ extern void source_script (char *, int);
/* Exported to objfiles.c. */ /* Exported to objfiles.c. */

View File

@ -1,52 +0,0 @@
for gdb/ChangeLog:
2006-08-22 Will Drewry <wad@google.com>
Tavis Ormandy <taviso@google.com>
* dwarf2read.c (decode_locdesc): Enforce location description stack
boundaries.
* dwarfread.c (locval): Likewise.
2007-10-15 Jan Kratochvil <jan.kratochvil@redhat.com>
Port to GDB-6.7.
Index: gdb-7.1.90.20100711/gdb/dwarf2read.c
===================================================================
--- gdb-7.1.90.20100711.orig/gdb/dwarf2read.c 2010-07-12 10:43:53.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/dwarf2read.c 2010-07-12 10:49:32.000000000 +0200
@@ -11382,8 +11382,7 @@ read_signatured_type (struct objfile *ob
callers will only want a very basic result and this can become a
complaint.
- Note that stack[0] is unused except as a default error return.
- Note that stack overflow is not yet handled. */
+ Note that stack[0] is unused except as a default error return. */
static CORE_ADDR
decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
@@ -11399,7 +11398,7 @@ decode_locdesc (struct dwarf_block *blk,
i = 0;
stacki = 0;
- stack[stacki] = 0;
+ stack[++stacki] = 0;
while (i < size)
{
@@ -11581,6 +11580,16 @@ decode_locdesc (struct dwarf_block *blk,
dwarf_stack_op_name (op, 1));
return (stack[stacki]);
}
+ /* Enforce maximum stack depth of size-1 to avoid ++stacki writing
+ outside of the allocated space. Also enforce minimum > 0.
+ -- wad@google.com 14 Aug 2006 */
+ if (stacki >= sizeof (stack) / sizeof (*stack) - 1)
+ internal_error (__FILE__, __LINE__,
+ _("location description stack too deep: %d"),
+ stacki);
+ if (stacki <= 0)
+ internal_error (__FILE__, __LINE__,
+ _("location description stack too shallow"));
}
return (stack[stacki]);
}

View File

@ -58,10 +58,10 @@ Http://sourceware.org/ml/gdb-patches/2010-01/msg00517.html
* exec.c (exec_file_attach): Print a more useful error message if the * exec.c (exec_file_attach): Print a more useful error message if the
user did "gdb core". user did "gdb core".
Index: gdb-7.1.90.20100711/gdb/exceptions.h Index: gdb-7.2.50.20101231/gdb/exceptions.h
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/exceptions.h 2010-05-03 01:52:14.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/exceptions.h 2010-05-03 01:52:14.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/exceptions.h 2010-07-13 22:56:29.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/exceptions.h 2011-01-01 01:10:44.000000000 +0100
@@ -78,6 +78,9 @@ enum errors { @@ -78,6 +78,9 @@ enum errors {
/* Feature is not supported in this copy of GDB. */ /* Feature is not supported in this copy of GDB. */
UNSUPPORTED_ERROR, UNSUPPORTED_ERROR,
@ -72,10 +72,10 @@ Index: gdb-7.1.90.20100711/gdb/exceptions.h
/* Add more errors here. */ /* Add more errors here. */
NR_ERRORS NR_ERRORS
}; };
Index: gdb-7.1.90.20100711/gdb/exec.c Index: gdb-7.2.50.20101231/gdb/exec.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/exec.c 2010-07-12 23:07:34.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/exec.c 2010-08-31 20:08:43.000000000 +0200
+++ gdb-7.1.90.20100711/gdb/exec.c 2010-07-13 22:56:29.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/exec.c 2011-01-01 01:10:44.000000000 +0100
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
#include "arch-utils.h" #include "arch-utils.h"
#include "gdbthread.h" #include "gdbthread.h"
@ -115,11 +115,11 @@ Index: gdb-7.1.90.20100711/gdb/exec.c
} }
/* FIXME - This should only be run for RS6000, but the ifdef is a poor /* FIXME - This should only be run for RS6000, but the ifdef is a poor
Index: gdb-7.1.90.20100711/gdb/main.c Index: gdb-7.2.50.20101231/gdb/main.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/main.c 2010-07-12 23:07:34.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/main.c 2011-01-01 01:00:54.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/main.c 2010-07-13 22:58:20.000000000 +0200 +++ gdb-7.2.50.20101231/gdb/main.c 2011-01-01 01:11:48.000000000 +0100
@@ -241,6 +241,36 @@ captured_command_loop (void *data) @@ -242,6 +242,36 @@ captured_command_loop (void *data)
return 1; return 1;
} }
@ -156,7 +156,7 @@ Index: gdb-7.1.90.20100711/gdb/main.c
static int static int
captured_main (void *data) captured_main (void *data)
{ {
@@ -678,6 +708,8 @@ extern int gdbtk_test (char *); @@ -688,6 +718,8 @@ captured_main (void *data)
{ {
symarg = argv[optind]; symarg = argv[optind];
execarg = argv[optind]; execarg = argv[optind];
@ -165,7 +165,7 @@ Index: gdb-7.1.90.20100711/gdb/main.c
optind++; optind++;
} }
@@ -816,10 +848,25 @@ Excess command line arguments ignored. ( @@ -828,10 +860,25 @@ Excess command line arguments ignored. (
&& symarg != NULL && symarg != NULL
&& strcmp (execarg, symarg) == 0) && strcmp (execarg, symarg) == 0)
{ {
@ -182,11 +182,10 @@ Index: gdb-7.1.90.20100711/gdb/main.c
+ func = exec_file_attach; + func = exec_file_attach;
+ +
/* The exec file and the symbol-file are the same. If we can't /* The exec file and the symbol-file are the same. If we can't
- open it, better only print one error message. open it, better only print one error message.
- catch_command_errors returns non-zero on success! */ - catch_command_errors returns non-zero on success! */
- if (catch_command_errors (exec_file_attach, execarg, !batch_flag, RETURN_MASK_ALL)) - if (catch_command_errors (exec_file_attach, execarg, !batch_flag, RETURN_MASK_ALL))
+ open it, better only print one error message. + catch_command_errors returns non-zero on success!
+ catch_command_errors returns non-zero on success!
+ Do not load EXECARG as a symbol file if it has been already processed + Do not load EXECARG as a symbol file if it has been already processed
+ as a core file. */ + as a core file. */
+ if (catch_command_errors (func, execarg, !batch_flag, RETURN_MASK_ALL) + if (catch_command_errors (func, execarg, !batch_flag, RETURN_MASK_ALL)

View File

@ -1,25 +1,25 @@
Index: gdb-7.2.50.20101116/gdb/event-top.c Index: gdb-7.2.50.20101231/gdb/event-top.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/event-top.c 2010-09-11 18:00:25.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/event-top.c 2010-12-29 01:58:14.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/event-top.c 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/event-top.c 2011-01-01 01:07:37.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"
#include "gdbthread.h" #include "gdbthread.h"
+#include "symfile.h" +#include "symfile.h"
/* For dont_repeat() */ #include "gdbcmd.h" /* for dont_repeat() */
#include "gdbcmd.h"
@@ -193,6 +194,8 @@ cli_command_loop (void) @@ -192,6 +193,8 @@ cli_command_loop (void)
char *a_prompt; char *a_prompt;
char *gdb_prompt = get_prompt (); char *gdb_prompt = get_prompt ();
+ debug_flush_missing (); + debug_flush_missing ();
+ +
/* Tell readline what the prompt to display is and what function it /* Tell readline what the prompt to display is and what function
will need to call after a whole line is read. This also displays it will need to call after a whole line is read. This also
the first prompt. */ displays the first prompt. */
@@ -264,6 +267,8 @@ display_gdb_prompt (char *new_prompt) @@ -263,6 +266,8 @@ display_gdb_prompt (char *new_prompt)
/* Reset the nesting depth used when trace-commands is set. */ /* Reset the nesting depth used when trace-commands is set. */
reset_command_nest_depth (); reset_command_nest_depth ();
@ -28,10 +28,10 @@ Index: gdb-7.2.50.20101116/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.20101116/gdb/elfread.c Index: gdb-7.2.50.20101231/gdb/elfread.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/elfread.c 2010-11-16 08:04:18.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/elfread.c 2011-01-01 01:05:01.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/elfread.c 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/elfread.c 2011-01-01 01:05:10.000000000 +0100
@@ -42,6 +42,7 @@ @@ -42,6 +42,7 @@
#include "gdbcore.h" #include "gdbcore.h"
#include "gdbcmd.h" #include "gdbcmd.h"
@ -464,11 +464,11 @@ Index: gdb-7.2.50.20101116/gdb/elfread.c
} }
static char * static char *
Index: gdb-7.2.50.20101116/gdb/symfile.h Index: gdb-7.2.50.20101231/gdb/symfile.h
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/symfile.h 2010-11-16 08:04:18.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/symfile.h 2011-01-01 01:05:01.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/symfile.h 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/symfile.h 2011-01-01 01:05:10.000000000 +0100
@@ -552,6 +552,8 @@ extern struct build_id *build_id_addr_ge @@ -559,6 +559,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.20101116/gdb/symfile.h
/* From dwarf2read.c */ /* From dwarf2read.c */
Index: gdb-7.2.50.20101116/gdb/testsuite/lib/gdb.exp Index: gdb-7.2.50.20101231/gdb/testsuite/lib/gdb.exp
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/testsuite/lib/gdb.exp 2010-11-16 08:04:18.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:01.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/testsuite/lib/gdb.exp 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:10.000000000 +0100
@@ -1358,7 +1358,7 @@ proc default_gdb_start { } { @@ -1389,7 +1389,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.20101116/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.20101116/gdb/testsuite/lib/mi-support.exp Index: gdb-7.2.50.20101231/gdb/testsuite/lib/mi-support.exp
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/testsuite/lib/mi-support.exp 2010-11-16 08:04:18.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/testsuite/lib/mi-support.exp 2011-01-01 01:05:01.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/testsuite/lib/mi-support.exp 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/testsuite/lib/mi-support.exp 2011-01-01 01:05:10.000000000 +0100
@@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } { @@ -221,7 +221,7 @@ proc default_mi_gdb_start { args } {
} }
} }
@ -503,10 +503,10 @@ Index: gdb-7.2.50.20101116/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.20101116/gdb/tui/tui-interp.c Index: gdb-7.2.50.20101231/gdb/tui/tui-interp.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/tui/tui-interp.c 2010-05-18 00:21:43.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/tui/tui-interp.c 2010-05-18 00:21:43.000000000 +0200
+++ gdb-7.2.50.20101116/gdb/tui/tui-interp.c 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/tui/tui-interp.c 2011-01-01 01:05:10.000000000 +0100
@@ -30,6 +30,7 @@ @@ -30,6 +30,7 @@
#include "tui/tui.h" #include "tui/tui.h"
#include "tui/tui-io.h" #include "tui/tui-io.h"
@ -524,10 +524,10 @@ Index: gdb-7.2.50.20101116/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.20101116/gdb/aclocal.m4 Index: gdb-7.2.50.20101231/gdb/aclocal.m4
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/aclocal.m4 2010-05-23 02:56:59.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/aclocal.m4 2010-05-23 02:56:59.000000000 +0200
+++ gdb-7.2.50.20101116/gdb/aclocal.m4 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/aclocal.m4 2011-01-01 01:05:10.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.20101116/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.20101116/gdb/config.in Index: gdb-7.2.50.20101231/gdb/config.in
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/config.in 2010-09-02 19:12:35.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/config.in 2010-09-02 19:12:35.000000000 +0200
+++ gdb-7.2.50.20101116/gdb/config.in 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/config.in 2011-01-01 01:05:10.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
@ -715,11 +715,11 @@ Index: gdb-7.2.50.20101116/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.20101116/gdb/configure Index: gdb-7.2.50.20101231/gdb/configure
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/configure 2010-11-05 02:50:17.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/configure 2010-12-14 08:17:14.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/configure 2010-11-16 08:15:33.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/configure 2011-01-01 01:08:50.000000000 +0100
@@ -679,6 +679,9 @@ REPORT_BUGS_TO @@ -680,6 +680,9 @@ REPORT_BUGS_TO
PKGVERSION PKGVERSION
TARGET_OBS TARGET_OBS
subdirs subdirs
@ -729,7 +729,7 @@ Index: gdb-7.2.50.20101116/gdb/configure
GDB_DATADIR GDB_DATADIR
DEBUGDIR DEBUGDIR
am__fastdepCC_FALSE am__fastdepCC_FALSE
@@ -945,6 +948,7 @@ enable_dependency_tracking @@ -946,6 +949,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.20101116/gdb/configure
enable_targets enable_targets
enable_64_bit_bfd enable_64_bit_bfd
enable_gdbcli enable_gdbcli
@@ -986,6 +990,9 @@ LDFLAGS @@ -987,6 +991,9 @@ LDFLAGS
LIBS LIBS
CPPFLAGS CPPFLAGS
CPP CPP
@ -747,7 +747,7 @@ Index: gdb-7.2.50.20101116/gdb/configure
YACC YACC
YFLAGS YFLAGS
XMKMF' XMKMF'
@@ -1649,6 +1656,8 @@ Optional Packages: @@ -1650,6 +1657,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.20101116/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
@@ -1684,6 +1693,9 @@ Some influential environment variables: @@ -1685,6 +1694,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.20101116/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.
@@ -7881,6 +7893,486 @@ _ACEOF @@ -7882,6 +7894,486 @@ _ACEOF
fi fi
@ -1252,11 +1252,11 @@ Index: gdb-7.2.50.20101116/gdb/configure
+ +
subdirs="$subdirs doc testsuite" subdirs="$subdirs testsuite"
Index: gdb-7.2.50.20101116/gdb/configure.ac Index: gdb-7.2.50.20101231/gdb/configure.ac
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/configure.ac 2010-11-05 02:50:18.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/configure.ac 2010-12-14 08:17:15.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/configure.ac 2010-11-16 08:15:10.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/configure.ac 2011-01-01 01:08:28.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. ])
]) ])
@ -1454,13 +1454,13 @@ Index: gdb-7.2.50.20101116/gdb/configure.ac
+ fi + fi
+fi +fi
+ +
AC_CONFIG_SUBDIRS(doc testsuite) AC_CONFIG_SUBDIRS(testsuite)
# Check whether to support alternative target configurations # Check whether to support alternative target configurations
Index: gdb-7.2.50.20101116/gdb/acinclude.m4 Index: gdb-7.2.50.20101231/gdb/acinclude.m4
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/acinclude.m4 2010-05-27 05:40:45.000000000 +0200
+++ gdb-7.2.50.20101116/gdb/acinclude.m4 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/acinclude.m4 2011-01-01 01:05:10.000000000 +0100
@@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
+# serial 1 +# serial 1
+ +
@ -1476,10 +1476,10 @@ Index: gdb-7.2.50.20101116/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.20101116/gdb/corelow.c Index: gdb-7.2.50.20101231/gdb/corelow.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/corelow.c 2010-11-16 08:04:18.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/corelow.c 2011-01-01 01:05:01.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/corelow.c 2010-11-16 08:14:26.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/corelow.c 2011-01-01 01:05:10.000000000 +0100
@@ -317,7 +317,7 @@ build_id_locate_exec (int from_tty) @@ -317,7 +317,7 @@ build_id_locate_exec (int from_tty)
symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED; symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
} }

View File

@ -1,33 +0,0 @@
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225783
Index: gdb-6.8.50.20081128/gdb/Makefile.in
===================================================================
--- gdb-6.8.50.20081128.orig/gdb/Makefile.in 2008-12-02 23:06:16.000000000 +0100
+++ gdb-6.8.50.20081128/gdb/Makefile.in 2008-12-02 23:28:02.000000000 +0100
@@ -1490,8 +1490,10 @@ po/$(PACKAGE).pot: force
.SUFFIXES: .y .l
.y.c:
- $(SHELL) $(YLWRAP) $< y.tab.c $@.tmp -- $(YACC) $(YFLAGS)
- -sed -e '/extern.*malloc/d' \
+ rm -f $@ $@.tmp
+ $(SHELL) $(YLWRAP) $< y.tab.c $@ -- $(YACC) $(YFLAGS) && mv $@ $@.tmp \
+ || (rm -f $@; false)
+ sed -e '/extern.*malloc/d' \
-e '/extern.*realloc/d' \
-e '/extern.*free/d' \
-e '/include.*malloc.h/d' \
@@ -1500,9 +1502,9 @@ po/$(PACKAGE).pot: force
-e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \
-e 's/\([ \t;,(]\)free$$/\1xfree/g' \
-e '/^#line.*y.tab.c/d' \
- < $@.tmp > $@.new
- -rm $@.tmp
- mv $@.new ./$*.c
+ -e "s/^\(#line.*\)`basename $<`/\1`echo $<|sed 's/\//\\\\\//g'`/" \
+ < $@.tmp > $@
+ rm -f $@.tmp
.l.c:
if [ "$(FLEX)" ] && $(FLEX) --version >/dev/null 2>&1; then \
$(FLEX) -o$@ $< && \

View File

@ -1,116 +0,0 @@
2007-10-16 Jan Kratochvil <jan.kratochvil@redhat.com>
Port to GDB-6.7.
Index: gdb-6.7/gdb/doc/Makefile.in
===================================================================
--- gdb-6.7.orig/gdb/doc/Makefile.in 2007-07-26 12:34:00.000000000 +0200
+++ gdb-6.7/gdb/doc/Makefile.in 2007-10-16 16:31:08.000000000 +0200
@@ -109,9 +109,7 @@ DVIPS = dvips
GDB_DOC_SOURCE_INCLUDES = \
$(srcdir)/fdl.texi \
$(srcdir)/gpl.texi \
- $(srcdir)/agentexpr.texi \
- $(READLINE_DIR)/rluser.texi \
- $(READLINE_DIR)/inc-hist.texinfo
+ $(srcdir)/agentexpr.texi
GDB_DOC_BUILD_INCLUDES = \
gdb-cfg.texi \
GDBvn.texi
Index: gdb-6.7/gdb/doc/gdb.texinfo
===================================================================
--- gdb-6.7.orig/gdb/doc/gdb.texinfo 2007-10-16 16:19:19.000000000 +0200
+++ gdb-6.7/gdb/doc/gdb.texinfo 2007-10-16 16:32:10.000000000 +0200
@@ -158,8 +158,8 @@ software in general. We will miss him.
* GDB Bugs:: Reporting bugs in @value{GDBN}
-* Command Line Editing:: Command Line Editing
-* Using History Interactively:: Using History Interactively
+* Command Line Editing: (rluserman). Command Line Editing
+* Using History Interactively: (history). Using History Interactively
* Formatting Documentation:: How to format and print @value{GDBN} documentation
* Installing GDB:: Installing GDB
* Maintenance Commands:: Maintenance Commands
@@ -15533,7 +15533,7 @@ Disable command line editing.
Show whether command line editing is enabled.
@end table
-@xref{Command Line Editing}, for more details about the Readline
+@xref{Command Line Editing, , , rluserman, GNU Readline Library}, for more details about the Readline
interface. Users unfamiliar with @sc{gnu} Emacs or @code{vi} are
encouraged to read that chapter.
@@ -15548,7 +15548,8 @@ history facility.
@value{GDBN} uses the @sc{gnu} History library, a part of the Readline
package, to provide the history facility. @xref{Using History
-Interactively}, for the detailed description of the History library.
+Interactively, , , history, GNU History Library}, for the detailed description
+of the History library.
To issue a command to @value{GDBN} without affecting certain aspects of
the state which is seen by users, prefix it with @samp{server }
@@ -15600,7 +15601,7 @@ This defaults to the value of the enviro
@end table
History expansion assigns special meaning to the character @kbd{!}.
-@xref{Event Designators}, for more details.
+@xref{Event Designators, , , history, GNU History Library}, for more details.
@cindex history expansion, turn on/off
Since @kbd{!} is also the logical not operator in C, history expansion
@@ -16660,7 +16661,8 @@ Indicates the current program counter ad
@cindex TUI key bindings
The TUI installs several key bindings in the readline keymaps
-(@pxref{Command Line Editing}). The following key bindings
+(@pxref{Command Line Editing, , , rluserman, GNU Readline Library}).
+The following key bindings
are installed for both TUI mode and the @value{GDBN} standard mode.
@table @kbd
@@ -21937,15 +21939,6 @@ Such guesses are usually wrong. Even we
things without first using the debugger to find the facts.
@end itemize
-@c The readline documentation is distributed with the readline code
-@c and consists of the two following files:
-@c rluser.texinfo
-@c inc-hist.texinfo
-@c Use -I with makeinfo to point to the appropriate directory,
-@c environment var TEXINPUTS with TeX.
-@include rluser.texi
-@include inc-hist.texinfo
-
@node Formatting Documentation
@appendix Formatting Documentation
@@ -22115,9 +22108,6 @@ source for the @samp{-liberty} free soft
@item gdb-@value{GDBVN}/opcodes
source for the library of opcode tables and disassemblers
-@item gdb-@value{GDBVN}/readline
-source for the @sc{gnu} command-line interface
-
@item gdb-@value{GDBVN}/glob
source for the @sc{gnu} filename pattern-matching subroutine
@@ -22149,7 +22139,7 @@ where @var{host} is an identifier such a
correct value by examining your system.)
Running @samp{configure @var{host}} and then running @code{make} builds the
-@file{bfd}, @file{readline}, @file{mmalloc}, and @file{libiberty}
+@file{bfd}, @file{mmalloc}, and @file{libiberty}
libraries, then @code{gdb} itself. The configured source files, and the
binaries, are left in the corresponding source directories.
@@ -22175,7 +22165,7 @@ source tree, the @file{gdb-@var{version-
that subdirectory. That is usually not what you want. In particular,
if you run the first @file{configure} from the @file{gdb} subdirectory
of the @file{gdb-@var{version-number}} directory, you will omit the
-configuration of @file{bfd}, @file{readline}, and other sibling
+configuration of @file{bfd}, and other sibling
directories of the @file{gdb} subdirectory. This leads to build errors
about missing include files such as @file{bfd/bfd.h}.

View File

@ -21,11 +21,11 @@
Port to GDB-6.8pre. Port to GDB-6.8pre.
Index: gdb-7.2.50.20101116/gdb/inferior.h Index: gdb-7.2.50.20101231/gdb/inferior.h
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/inferior.h 2010-06-24 17:17:30.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/inferior.h 2011-01-01 01:25:01.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/inferior.h 2010-11-16 07:54:36.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/inferior.h 2011-01-01 01:25:16.000000000 +0100
@@ -198,7 +198,15 @@ extern void reopen_exec_file (void); @@ -186,7 +186,15 @@ extern void reopen_exec_file (void);
/* The `resume' routine should only be called in special circumstances. /* The `resume' routine should only be called in special circumstances.
Normally, use `proceed', which handles a lot of bookkeeping. */ Normally, use `proceed', which handles a lot of bookkeeping. */
@ -42,11 +42,11 @@ Index: gdb-7.2.50.20101116/gdb/inferior.h
/* From misc files */ /* From misc files */
Index: gdb-7.2.50.20101116/gdb/infrun.c Index: gdb-7.2.50.20101231/gdb/infrun.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/infrun.c 2010-11-16 07:53:59.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/infrun.c 2011-01-01 01:25:01.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/infrun.c 2010-11-16 07:55:23.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/infrun.c 2011-01-01 01:25:29.000000000 +0100
@@ -74,7 +74,7 @@ static int follow_fork (void); @@ -76,7 +76,7 @@ static int follow_fork (void);
static void set_schedlock_func (char *args, int from_tty, static void set_schedlock_func (char *args, int from_tty,
struct cmd_list_element *c); struct cmd_list_element *c);
@ -55,7 +55,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
static int currently_stepping_or_nexting_callback (struct thread_info *tp, static int currently_stepping_or_nexting_callback (struct thread_info *tp,
void *data); void *data);
@@ -1557,7 +1557,7 @@ maybe_software_singlestep (struct gdbarc @@ -1570,7 +1570,7 @@ maybe_software_singlestep (struct gdbarc
STEP nonzero if we should step (zero to continue instead). STEP nonzero if we should step (zero to continue instead).
SIG is the signal to give the inferior (zero for none). */ SIG is the signal to give the inferior (zero for none). */
void void
@ -64,24 +64,24 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
{ {
int should_resume = 1; int should_resume = 1;
struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0); struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0);
@@ -1589,10 +1589,12 @@ resume (int step, enum target_signal sig @@ -1602,10 +1602,12 @@ resume (int step, enum target_signal sig
} }
if (debug_infrun) if (debug_infrun)
- fprintf_unfiltered (gdb_stdlog, - fprintf_unfiltered (gdb_stdlog,
- "infrun: resume (step=%d, signal=%d), " - "infrun: resume (step=%d, signal=%d), "
- "trap_expected=%d\n", - "trap_expected=%d\n",
- step, sig, tp->trap_expected); - step, sig, tp->control.trap_expected);
+ fprintf_unfiltered (gdb_stdlog, "infrun: resume (step=%s, signal=%d), " + fprintf_unfiltered (gdb_stdlog, "infrun: resume (step=%s, signal=%d), "
+ "trap_expected=%d\n", + "trap_expected=%d\n",
+ (step == RESUME_STEP_CONTINUE ? "RESUME_STEP_CONTINUE" + (step == RESUME_STEP_CONTINUE ? "RESUME_STEP_CONTINUE"
+ : (step == RESUME_STEP_USER ? "RESUME_STEP_USER" + : (step == RESUME_STEP_USER ? "RESUME_STEP_USER"
+ : "RESUME_STEP_NEEDED")), + : "RESUME_STEP_NEEDED")),
+ sig, tp->trap_expected); + sig, tp->control.trap_expected);
/* Normally, by the time we reach `resume', the breakpoints are either /* Normally, by the time we reach `resume', the breakpoints are either
removed or inserted, as appropriate. The exception is if we're sitting removed or inserted, as appropriate. The exception is if we're sitting
@@ -1710,9 +1712,10 @@ a command like `return' or `jump' to con @@ -1723,9 +1725,10 @@ a command like `return' or `jump' to con
individually. */ individually. */
resume_ptid = inferior_ptid; resume_ptid = inferior_ptid;
} }
@ -94,7 +94,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
{ {
/* User-settable 'scheduler' mode requires solo thread resume. */ /* User-settable 'scheduler' mode requires solo thread resume. */
resume_ptid = inferior_ptid; resume_ptid = inferior_ptid;
@@ -1921,7 +1924,7 @@ proceed (CORE_ADDR addr, enum target_sig @@ -1934,7 +1937,7 @@ proceed (CORE_ADDR addr, enum target_sig
struct thread_info *tp; struct thread_info *tp;
CORE_ADDR pc; CORE_ADDR pc;
struct address_space *aspace; struct address_space *aspace;
@ -103,7 +103,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
/* If we're stopped at a fork/vfork, follow the branch set by the /* If we're stopped at a fork/vfork, follow the branch set by the
"set follow-fork-mode" command; otherwise, we'll just proceed "set follow-fork-mode" command; otherwise, we'll just proceed
@@ -1956,13 +1959,13 @@ proceed (CORE_ADDR addr, enum target_sig @@ -1969,13 +1972,13 @@ proceed (CORE_ADDR addr, enum target_sig
actually be executing the breakpoint insn anyway. actually be executing the breakpoint insn anyway.
We'll be (un-)executing the previous instruction. */ We'll be (un-)executing the previous instruction. */
@ -119,7 +119,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
} }
else else
{ {
@@ -2003,13 +2006,13 @@ proceed (CORE_ADDR addr, enum target_sig @@ -2016,13 +2019,13 @@ proceed (CORE_ADDR addr, enum target_sig
is required it returns TRUE and sets the current thread to is required it returns TRUE and sets the current thread to
the old thread. */ the old thread. */
if (prepare_to_proceed (step)) if (prepare_to_proceed (step))
@ -133,9 +133,9 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
- if (oneproc) - if (oneproc)
+ if (resume_step == RESUME_STEP_USER) + if (resume_step == RESUME_STEP_USER)
{ {
tp->trap_expected = 1; tp->control.trap_expected = 1;
/* If displaced stepping is enabled, we can step over the /* If displaced stepping is enabled, we can step over the
@@ -2096,8 +2099,13 @@ proceed (CORE_ADDR addr, enum target_sig @@ -2109,8 +2112,13 @@ proceed (CORE_ADDR addr, enum target_sig
/* Reset to normal state. */ /* Reset to normal state. */
init_infwait_state (); init_infwait_state ();
@ -145,12 +145,12 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
+ resume_step = RESUME_STEP_NEEDED; + resume_step = RESUME_STEP_NEEDED;
+ +
/* Resume inferior. */ /* Resume inferior. */
- resume (oneproc || step || bpstat_should_step (), tp->stop_signal); - resume (oneproc || step || bpstat_should_step (), tp->suspend.stop_signal);
+ resume (resume_step, tp->stop_signal); + resume (resume_step, tp->suspend.stop_signal);
/* Wait for it to stop (if not standalone) /* Wait for it to stop (if not standalone)
and in any case decode why it stopped, and act accordingly. */ and in any case decode why it stopped, and act accordingly. */
@@ -4859,13 +4867,18 @@ infrun: not switching back to stepped th @@ -4933,14 +4941,19 @@ infrun: not switching back to stepped th
/* Is thread TP in the middle of single-stepping? */ /* Is thread TP in the middle of single-stepping? */
@ -158,12 +158,14 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
+static enum resume_step +static enum resume_step
currently_stepping (struct thread_info *tp) currently_stepping (struct thread_info *tp)
{ {
- return ((tp->step_range_end && tp->step_resume_breakpoint == NULL) - return ((tp->control.step_range_end
- || tp->trap_expected - && tp->control.step_resume_breakpoint == NULL)
- || tp->stepping_through_solib_after_catch - || tp->control.trap_expected
- || bpstat_should_step ()); - || tp->stepping_through_solib_after_catch
+ if ((tp->step_range_end && tp->step_resume_breakpoint == NULL) - || bpstat_should_step ());
+ || tp->trap_expected + if ((tp->control.step_range_end
+ && tp->control.step_resume_breakpoint == NULL)
+ || tp->control.trap_expected
+ || tp->stepping_through_solib_after_catch) + || tp->stepping_through_solib_after_catch)
+ return RESUME_STEP_USER; + return RESUME_STEP_USER;
+ +
@ -174,11 +176,11 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
} }
/* Returns true if any thread *but* the one passed in "data" is in the /* Returns true if any thread *but* the one passed in "data" is in the
Index: gdb-7.2.50.20101116/gdb/linux-nat.c Index: gdb-7.2.50.20101231/gdb/linux-nat.c
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/linux-nat.c 2010-11-16 07:53:59.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/linux-nat.c 2011-01-01 01:25:16.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/linux-nat.c 2010-11-16 07:54:36.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/linux-nat.c 2011-01-01 01:25:16.000000000 +0100
@@ -2883,7 +2883,10 @@ count_events_callback (struct lwp_info * @@ -2908,7 +2908,10 @@ count_events_callback (struct lwp_info *
static int static int
select_singlestep_lwp_callback (struct lwp_info *lp, void *data) select_singlestep_lwp_callback (struct lwp_info *lp, void *data)
{ {
@ -190,10 +192,10 @@ Index: gdb-7.2.50.20101116/gdb/linux-nat.c
return 1; return 1;
else else
return 0; return 0;
Index: gdb-7.2.50.20101116/gdb/linux-nat.h Index: gdb-7.2.50.20101231/gdb/linux-nat.h
=================================================================== ===================================================================
--- gdb-7.2.50.20101116.orig/gdb/linux-nat.h 2010-07-27 22:51:37.000000000 +0200 --- gdb-7.2.50.20101231.orig/gdb/linux-nat.h 2011-01-01 01:25:16.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/linux-nat.h 2010-11-16 07:54:36.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/linux-nat.h 2011-01-01 01:25:16.000000000 +0100
@@ -55,8 +55,8 @@ struct lwp_info @@ -55,8 +55,8 @@ struct lwp_info
/* If non-zero, a pending wait status. */ /* If non-zero, a pending wait status. */
int status; int status;

View File

@ -5,11 +5,11 @@ Some of the threads may not be properly PTRACE_DETACHed which hurts if they
should have been detached with SIGSTOP (as they are accidentally left running should have been detached with SIGSTOP (as they are accidentally left running
on the debugger termination). on the debugger termination).
Index: gdb-6.8.50.20081128/gdb/defs.h Index: gdb-7.2.50.20101231/gdb/defs.h
=================================================================== ===================================================================
--- gdb-6.8.50.20081128.orig/gdb/defs.h 2008-11-27 10:23:01.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/defs.h 2011-01-01 01:00:29.000000000 +0100
+++ gdb-6.8.50.20081128/gdb/defs.h 2008-12-06 21:49:32.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/defs.h 2011-01-01 01:09:17.000000000 +0100
@@ -155,6 +155,7 @@ extern char *gdb_sysroot; @@ -165,6 +165,7 @@ extern char *python_libdir;
extern char *debug_file_directory; extern char *debug_file_directory;
extern int quit_flag; extern int quit_flag;
@ -17,7 +17,7 @@ Index: gdb-6.8.50.20081128/gdb/defs.h
extern int immediate_quit; extern int immediate_quit;
extern int sevenbit_strings; extern int sevenbit_strings;
@@ -168,7 +169,7 @@ extern void quit (void); @@ -178,7 +179,7 @@ extern void quit (void);
needed. */ needed. */
#define QUIT { \ #define QUIT { \
@ -26,24 +26,24 @@ Index: gdb-6.8.50.20081128/gdb/defs.h
if (deprecated_interactive_hook) deprecated_interactive_hook (); \ if (deprecated_interactive_hook) deprecated_interactive_hook (); \
} }
Index: gdb-6.8.50.20081128/gdb/event-top.c Index: gdb-7.2.50.20101231/gdb/event-top.c
=================================================================== ===================================================================
--- gdb-6.8.50.20081128.orig/gdb/event-top.c 2008-12-04 10:34:31.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/event-top.c 2011-01-01 01:07:37.000000000 +0100
+++ gdb-6.8.50.20081128/gdb/event-top.c 2008-12-06 21:49:07.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/event-top.c 2011-01-01 01:09:39.000000000 +0100
@@ -939,7 +939,7 @@ async_request_quit (gdb_client_data arg) @@ -904,7 +904,7 @@ async_request_quit (gdb_client_data arg)
is no reason to call quit again here, unless immediate_quit is is no reason to call quit again here, unless immediate_quit is
set.*/ set. */
- if (quit_flag || immediate_quit) - if (quit_flag || immediate_quit)
+ if ((quit_flag || immediate_quit) && !quit_flag_cleanup) + if ((quit_flag || immediate_quit) && !quit_flag_cleanup)
quit (); quit ();
} }
Index: gdb-6.8.50.20081128/gdb/top.c Index: gdb-7.2.50.20101231/gdb/top.c
=================================================================== ===================================================================
--- gdb-6.8.50.20081128.orig/gdb/top.c 2008-12-04 10:23:12.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/top.c 2011-01-01 01:00:29.000000000 +0100
+++ gdb-6.8.50.20081128/gdb/top.c 2008-12-06 21:49:07.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/top.c 2011-01-01 01:09:17.000000000 +0100
@@ -1299,7 +1299,9 @@ quit_force (char *args, int from_tty) @@ -1254,7 +1254,9 @@ quit_force (char *args, int from_tty)
qt.args = args; qt.args = args;
qt.from_tty = from_tty; qt.from_tty = from_tty;
@ -54,11 +54,11 @@ Index: gdb-6.8.50.20081128/gdb/top.c
catch_errors (quit_target, &qt, catch_errors (quit_target, &qt,
"Quitting: ", RETURN_MASK_ALL); "Quitting: ", RETURN_MASK_ALL);
Index: gdb-6.8.50.20081128/gdb/utils.c Index: gdb-7.2.50.20101231/gdb/utils.c
=================================================================== ===================================================================
--- gdb-6.8.50.20081128.orig/gdb/utils.c 2008-12-04 10:31:00.000000000 +0100 --- gdb-7.2.50.20101231.orig/gdb/utils.c 2011-01-01 01:00:29.000000000 +0100
+++ gdb-6.8.50.20081128/gdb/utils.c 2008-12-06 21:49:07.000000000 +0100 +++ gdb-7.2.50.20101231/gdb/utils.c 2011-01-01 01:09:17.000000000 +0100
@@ -114,6 +114,11 @@ int job_control; @@ -121,6 +121,11 @@ int job_control;
int quit_flag; int quit_flag;

View File

@ -1,23 +0,0 @@
From: Keith Seitz <keiths@redhat.com>
Message-ID: <4B7F207A.7020102@redhat.com>
[ read_partial_die part dropped in the port to Rawhide ]
--- gdb-7.0.1-orig/gdb/dwarf2read.c 2010-02-20 01:06:44.000000000 +0100
+++ gdb-7.0.1/gdb/dwarf2read.c 2010-02-20 01:08:28.000000000 +0100
@@ -9924,9 +9928,13 @@ dwarf2_canonicalize_name (char *name, st
static char *
dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
{
- struct attribute *attr;
+ struct attribute *attr = NULL;
+
+ if (cu->language == language_ada)
+ attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu);
- attr = dwarf2_attr (die, DW_AT_name, cu);
+ if (!attr)
+ attr = dwarf2_attr (die, DW_AT_name, cu);
if (!attr || !DW_STRING (attr))
return NULL;

File diff suppressed because it is too large Load Diff

View File

@ -21,11 +21,13 @@ debugging problem of GOMP outside of the scope of this Bug.
--- ./gdb/infrun.c 2009-12-09 22:03:33.000000000 +0100 Index: gdb-7.2.50.20101231/gdb/infrun.c
+++ ./gdb/infrun.c 2009-12-09 22:29:56.000000000 +0100 ===================================================================
@@ -3994,6 +3994,12 @@ infrun: not switching back to stepped th --- gdb-7.2.50.20101231.orig/gdb/infrun.c 2011-01-01 01:02:45.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/infrun.c 2011-01-01 01:10:22.000000000 +0100
@@ -4585,6 +4585,12 @@ infrun: not switching back to stepped th
if (ecs->event_thread->step_over_calls == STEP_OVER_ALL) if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
{ {
+ struct symbol *stop_fn = find_pc_function (stop_pc); + struct symbol *stop_fn = find_pc_function (stop_pc);
+ +
@ -36,7 +38,7 @@ debugging problem of GOMP outside of the scope of this Bug.
/* We're doing a "next". /* We're doing a "next".
Normal (forward) execution: set a breakpoint at the Normal (forward) execution: set a breakpoint at the
@@ -4020,6 +4026,7 @@ infrun: not switching back to stepped th @@ -4612,6 +4618,7 @@ infrun: not switching back to stepped th
keep_going (ecs); keep_going (ecs);
return; return;
@ -44,8 +46,10 @@ debugging problem of GOMP outside of the scope of this Bug.
} }
/* If we are in a function call trampoline (a stub between the /* If we are in a function call trampoline (a stub between the
--- ./gdb/testsuite/gdb.fortran/omp-step.exp 1970-01-01 01:00:00.000000000 +0100 Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.exp
+++ ./gdb/testsuite/gdb.fortran/omp-step.exp 2009-12-09 22:31:04.000000000 +0100 ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.exp 2011-01-01 01:09:58.000000000 +0100
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
+# Copyright 2009 Free Software Foundation, Inc. +# Copyright 2009 Free Software Foundation, Inc.
+ +
@ -78,8 +82,10 @@ debugging problem of GOMP outside of the scope of this Bug.
+ +
+gdb_breakpoint [gdb_get_line_number "success"] +gdb_breakpoint [gdb_get_line_number "success"]
+gdb_continue_to_breakpoint "success" ".*success.*" +gdb_continue_to_breakpoint "success" ".*success.*"
--- ./gdb/testsuite/gdb.fortran/omp-step.f90 1970-01-01 01:00:00.000000000 +0100 Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.f90
+++ ./gdb/testsuite/gdb.fortran/omp-step.f90 2009-12-09 22:25:35.000000000 +0100 ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.f90 2011-01-01 01:09:58.000000000 +0100
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
+! Copyright 2009 Free Software Foundation, Inc. +! Copyright 2009 Free Software Foundation, Inc.
+ +

View File

@ -1,85 +0,0 @@
http://sourceware.org/ml/gdb-patches/2010-09/msg00192.html
Subject: [patch] Fix ELF stale reference [Re: [patch] .gdb_index: Do not crash on NOBITS]
On Wed, 08 Sep 2010 21:40:12 +0200, Tom Tromey wrote:
> >>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
>
> Jan> which should not be fatal but due to some other bugs therein it can
> Jan> crash GDB.
>
> I am curious about these other bugs.
+ /* Memory gets permanently referenced from ABFD after
+ bfd_get_synthetic_symtab so it must not get freed before ABFD gets.
+ It happens only in the case when elf_slurp_reloc_table sees
+ asection->relocation NULL. Determining which section is asection is
+ done by _bfd_elf_get_synthetic_symtab which is all a bfd
+ implementation detail, though. */
That is from:
#0 in elf_slurp_reloc_table_from_section (abfd, asect, rel_hdr, reloc_count=1170, relents, symbols, dynamic=1) at elfcode.h:1482
#1 in bfd_elf64_slurp_reloc_table (abfd, asect, symbols, dynamic=1) at elfcode.h:1563
#2 in _bfd_elf_get_synthetic_symtab (abfd, symcount=0, syms, dynsymcount=1792, dynsyms, ret) at elf.c:9269
#3 in elf_symfile_read (objfile, symfile_flags=6) at elfread.c:809
Where
elfcode.h:elf_slurp_reloc_table_from_section
contains
ps = symbols + ELF_R_SYM (rela.r_info) - 1;
relent->sym_ptr_ptr = ps;
`symbols' here is elf_symfile_read's `dyn_symbol_table'. `dyn_symbol_table'
got immediately xfree'd but the freed memory remained referenced by
asect->relocation (containing the RELENT memory above, stored there by
elf_slurp_reloc_table).
asect->relocation probably does not get used if ABFD is not being read-in the
second time, which happens only if OBJFILE is being created the second time,
which happens due to the error call in the previous mail.
I was curious there elf_symfile_read uses 0 for COPY_NAMES in a similar case:
elf_symtab_read (objfile, ST_REGULAR, symcount, symbol_table, 0);
where SYMBOL_TABLE is also immediately xfreed. But that seems to be correct as
elf_slurp_symbol_table uses
symbase = (elf_symbol_type *) bfd_zalloc (abfd, amt);
for the content where later elfread.c's SYMBOL_TABLE points to. Only the
pointers get xfreed which is OK.
No regressions on {x86_64,x86_64-m32,i686}-fedora14snapshot-linux-gnu.
Thanks,
Jan
gdb/
2010-09-09 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix stale memory references.
* elfread.c: Include libbfd.h.
(elf_symfile_read): Replace xmalloc by bfd_alloc, drop xfree, new
comment.
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -792,8 +793,14 @@ elf_symfile_read (struct objfile *objfile, int symfile_flags)
if (storage_needed > 0)
{
- dyn_symbol_table = (asymbol **) xmalloc (storage_needed);
- make_cleanup (xfree, dyn_symbol_table);
+ /* Memory gets permanently referenced from ABFD after
+ bfd_get_synthetic_symtab so it must not get freed before ABFD gets.
+ It happens only in the case when elf_slurp_reloc_table sees
+ asection->relocation NULL. Determining which section is asection is
+ done by _bfd_elf_get_synthetic_symtab which is all a bfd
+ implementation detail, though. */
+
+ dyn_symbol_table = bfd_alloc (abfd, storage_needed);
dynsymcount = bfd_canonicalize_dynamic_symtab (objfile->obfd,
dyn_symbol_table);

File diff suppressed because it is too large Load Diff

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.20101117 Version: 7.2.50.20101231
# 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: 4%{?_with_upstream:.upstream}%{dist} Release: 5%{?_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
@ -203,11 +203,6 @@ Patch169: gdb-6.3-ia64-sigill-20051115.patch
#=push+work: There was some mail thread about it, this patch may be a hack. #=push+work: There was some mail thread about it, this patch may be a hack.
Patch188: gdb-6.5-bz203661-emit-relocs.patch Patch188: gdb-6.5-bz203661-emit-relocs.patch
# Security patch: avoid stack overflows in dwarf expression computation.
# CVE-2006-4146
#=push
Patch190: gdb-6.5-dwarf-stack-overflow.patch
# Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337). # Support TLS symbols (+`errno' suggestion if no pthread is found) (BZ 185337).
#=push+work: It should be replaced by existing uncommitted Roland's glibc patch for TLS without libpthreads. #=push+work: It should be replaced by existing uncommitted Roland's glibc patch for TLS without libpthreads.
Patch194: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch Patch194: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
@ -272,10 +267,6 @@ Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch
#=push+work: Upstream should have backward compat. API: libc-alpha: <20070127104539.GA9444@.*> #=push+work: Upstream should have backward compat. API: libc-alpha: <20070127104539.GA9444@.*>
Patch235: gdb-6.3-bz231832-obstack-2gb.patch Patch235: gdb-6.3-bz231832-obstack-2gb.patch
# Fix debugging GDB itself - the compiled in source files paths (BZ 225783).
#=push
Patch241: gdb-6.6-bz225783-gdb-debuginfo-paths.patch
# Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517). # Allow running `/usr/bin/gcore' with provided but inaccessible tty (BZ 229517).
#=fedoratest #=fedoratest
Patch245: gdb-6.6-bz229517-gcore-without-terminal.patch Patch245: gdb-6.6-bz229517-gcore-without-terminal.patch
@ -292,10 +283,6 @@ Patch254: gdb-6.6-testsuite-timeouts.patch
#=fedoratest #=fedoratest
Patch258: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch Patch258: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
# Link with libreadline provided by the operating system.
#=push
Patch261: gdb-6.6-readline-system.patch
# Test kernel VDSO decoding while attaching to an i386 process. # Test kernel VDSO decoding while attaching to an i386 process.
#=fedoratest #=fedoratest
Patch263: gdb-6.3-attach-see-vdso-test.patch Patch263: gdb-6.3-attach-see-vdso-test.patch
@ -516,14 +503,6 @@ Patch510: gdb-bz592031-siginfo-lost-4of5.patch
#=push #=push
Patch511: gdb-bz592031-siginfo-lost-5of5.patch Patch511: gdb-bz592031-siginfo-lost-5of5.patch
# Fix crash on CTRL-C while reading an ELF symbol file (BZ 642879).
#=push
Patch520: gdb-bz642879-elfread-sigint-stale.patch
# Fix next/finish/etc -vs- exceptions (Tom Tromey).
#=push
Patch525: gdb-next-over-throw.patch
# Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108).
Patch526: gdb-bz634108-solib_address.patch Patch526: gdb-bz634108-solib_address.patch
@ -689,7 +668,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch164 -p1 %patch164 -p1
%patch169 -p1 %patch169 -p1
%patch188 -p1 %patch188 -p1
%patch190 -p1
%patch194 -p1 %patch194 -p1
%patch196 -p1 %patch196 -p1
%patch199 -p1 %patch199 -p1
@ -705,13 +683,11 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch231 -p1 %patch231 -p1
%patch234 -p1 %patch234 -p1
%patch235 -p1 %patch235 -p1
%patch241 -p1
%patch245 -p1 %patch245 -p1
%patch247 -p1 %patch247 -p1
%patch254 -p1 %patch254 -p1
%patch258 -p1 %patch258 -p1
%patch260 -p1 %patch260 -p1
%patch261 -p1
%patch263 -p1 %patch263 -p1
%patch265 -p1 %patch265 -p1
%patch266 -p1 %patch266 -p1
@ -768,8 +744,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch504 -p1 %patch504 -p1
%patch510 -p1 %patch510 -p1
%patch511 -p1 %patch511 -p1
%patch520 -p1
%patch525 -p1
%patch526 -p1 %patch526 -p1
%patch393 -p1 %patch393 -p1
@ -1147,6 +1121,16 @@ fi
%endif %endif
%changelog %changelog
* Sat Jan 1 2011 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20101231-5.fc15
- Rebase to FSF GDB 7.2.50.20101231 (which is a 7.3 pre-release).
- Remove gdb-6.3-bt-past-zero-20051201.patch, gdb-archer-ada.patch and
gdb-6.3-framepczero-20040927.patch already removed from .spec before.
- Remove gdb-6.5-dwarf-stack-overflow.patch, upstreamed (Tom Tromey).
- Remove gdb-6.6-bz225783-gdb-debuginfo-paths.patch, upstreamed (Tom Tromey).
- Remove gdb-6.6-readline-system.patch, reimplemented upstream (Tom Tromey).
- Remove gdb-bz642879-elfread-sigint-stale.patch, upstreamed (Jan Kratochvil).
- Remove gdb-next-over-throw.patch, upstreamed (Tom Tromey).
* Mon Dec 27 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20101117-4.fc15 * Mon Dec 27 2010 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20101117-4.fc15
- Provide stub %%{_sysconfdir}/gdbinit (BZ 651232). - Provide stub %%{_sysconfdir}/gdbinit (BZ 651232).

View File

@ -1 +1 @@
b13143c7c7e70f929c86c3f363247909 gdb-7.2.50.20101117.tar.bz2 bac361434830ddc3e83c40e187b60a96 gdb-7.2.50.20101231.tar.bz2