- 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:
parent
a56307ebf7
commit
6fa2f55b27
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
gdb-7.2.50.20101117.tar.bz2
|
||||
/gdb-7.2.50.20101231.tar.bz2
|
||||
|
@ -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."), _("\
|
@ -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);
|
||||
}
|
||||
|
@ -12,10 +12,10 @@ gdb/testsuite:
|
||||
* gdb.arch/ia64-sigill.c: New test.
|
||||
* 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
|
||||
+++ 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 @@
|
||||
+# 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 "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
|
||||
+++ 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 @@
|
||||
+#include <stdio.h>
|
||||
+
|
||||
@ -79,11 +79,11 @@ Index: gdb-6.8.50.20081128/gdb/testsuite/gdb.arch/ia64-sigill.c
|
||||
+ 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-6.8.50.20081128/gdb/linux-nat.c 2008-12-02 21:11:11.000000000 +0100
|
||||
@@ -2974,7 +2974,8 @@ retry:
|
||||
--- gdb-7.2.50.20101231.orig/gdb/linux-nat.c 2011-01-01 00:54:04.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/linux-nat.c 2011-01-01 00:55:58.000000000 +0100
|
||||
@@ -3652,7 +3652,8 @@ retry:
|
||||
threads can be a bit time-consuming so if we want decent
|
||||
performance with heavily multi-threaded programs, especially when
|
||||
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))
|
||||
{
|
||||
@@ -2992,7 +2993,9 @@ retry:
|
||||
&& inf->stop_soon == NO_STOP_QUIETLY
|
||||
@@ -3670,7 +3671,9 @@ retry:
|
||||
&& inf->control.stop_soon == NO_STOP_QUIETLY
|
||||
&& signal_stop_state (signo) == 0
|
||||
&& signal_print_state (signo) == 0
|
||||
- && signal_pass_state (signo) == 1)
|
||||
|
@ -11,11 +11,11 @@
|
||||
|
||||
* 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.20101116/gdb/doc/gdb.texinfo 2010-11-16 07:59:31.000000000 +0100
|
||||
@@ -1001,6 +1001,12 @@ Read each symbol file's entire symbol ta
|
||||
--- gdb-7.2.50.20101231.orig/gdb/doc/gdb.texinfo 2010-12-29 09:01:31.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/doc/gdb.texinfo 2011-01-01 00:54:07.000000000 +0100
|
||||
@@ -1007,6 +1007,12 @@ Read each symbol file's entire symbol ta
|
||||
the default, which is to read it incrementally as it is needed.
|
||||
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
|
||||
|
||||
@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.20101116/gdb/main.c 2010-11-16 07:59:59.000000000 +0100
|
||||
@@ -390,6 +390,7 @@ captured_main (void *data)
|
||||
--- gdb-7.2.50.20101231.orig/gdb/main.c 2011-01-01 00:53:09.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/main.c 2011-01-01 00:54:07.000000000 +0100
|
||||
@@ -391,6 +391,7 @@ captured_main (void *data)
|
||||
{"xdb", no_argument, &xdb_commands, 1},
|
||||
{"dbx", no_argument, &dbx_commands, 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},
|
||||
{"quiet", 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\
|
||||
--quiet Do not print version number on startup.\n\
|
||||
--readnow Fully read symbol files on first access.\n\
|
||||
@ -48,10 +48,10 @@ Index: gdb-7.2.50.20101116/gdb/main.c
|
||||
"), stream);
|
||||
fputs_unfiltered (_("\
|
||||
--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.20101116/gdb/symfile.c 2010-11-16 07:59:31.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/symfile.c 2010-11-23 01:59:58.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 (
|
||||
|
||||
/* Global variables owned by this file */
|
||||
@ -60,10 +60,10 @@ Index: gdb-7.2.50.20101116/gdb/symfile.c
|
||||
|
||||
/* 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.20101116/gdb/dwarf2read.c 2010-11-16 08:00:18.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/dwarf2read.c 2011-01-01 00:41:51.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/dwarf2read.c 2011-01-01 00:54:07.000000000 +0100
|
||||
@@ -57,6 +57,7 @@
|
||||
#include "vec.h"
|
||||
#include "c-lang.h"
|
||||
@ -72,7 +72,7 @@ Index: gdb-7.2.50.20101116/gdb/dwarf2read.c
|
||||
|
||||
#include <fcntl.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);
|
||||
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
|
||||
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.20101116/gdb/top.h 2010-11-16 07:59:31.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/top.h 2010-12-29 01:58:14.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 *);
|
||||
|
||||
/* From random places. */
|
||||
extern int readnow_symbol_files;
|
||||
+extern int readnever_symbol_files;
|
||||
|
||||
/* Perform _initialize initialization */
|
||||
/* Perform _initialize initialization. */
|
||||
extern void gdb_init (char *);
|
||||
|
@ -19,10 +19,10 @@ Proposed upstream but never committed upstream.
|
||||
(source_command): Update documentation. Check permissions if
|
||||
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.1.90.20100720/gdb/cli/cli-cmds.c 2010-07-21 20:30:30.000000000 +0200
|
||||
--- gdb-7.2.50.20101231.orig/gdb/cli/cli-cmds.c 2010-12-29 03:11:04.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/cli/cli-cmds.c 2011-01-01 00:53:51.000000000 +0100
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "source.h"
|
||||
#include "disasm.h"
|
||||
@ -31,7 +31,7 @@ Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
|
||||
|
||||
#include "ui-out.h"
|
||||
|
||||
@@ -487,7 +488,7 @@ Script filename extension recognition is
|
||||
@@ -488,7 +489,7 @@ Script filename extension recognition is
|
||||
|
||||
int
|
||||
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;
|
||||
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;
|
||||
}
|
||||
|
||||
@ -73,7 +73,7 @@ Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
|
||||
do_cleanups (old_cleanups);
|
||||
|
||||
*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)
|
||||
error (_("source command requires file name of file to source."));
|
||||
|
||||
@ -82,18 +82,18 @@ Index: gdb-7.1.90.20100720/gdb/cli/cli-cmds.c
|
||||
+ from_tty))
|
||||
{
|
||||
/* The script wasn't found, or was otherwise inaccessible.
|
||||
If the source command was invoked interactively, throw an error.
|
||||
Otherwise (e.g. if it was invoked by a script), silently ignore
|
||||
the error. */
|
||||
If the source command was invoked interactively, throw an
|
||||
error. Otherwise (e.g. if it was invoked by a script),
|
||||
silently ignore the error. */
|
||||
- if (from_tty)
|
||||
+ if (from_tty > 0)
|
||||
perror_with_name (file);
|
||||
else
|
||||
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
|
||||
+++ 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 @@
|
||||
+# Copyright 2005
|
||||
+# 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"
|
||||
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
|
||||
+++ 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 @@
|
||||
+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.1.90.20100720/gdb/main.c 2010-07-21 20:09:03.000000000 +0200
|
||||
@@ -794,7 +794,7 @@ Excess command line arguments ignored. (
|
||||
--- gdb-7.2.50.20101231.orig/gdb/main.c 2010-12-29 01:58:14.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/main.c 2011-01-01 00:53:09.000000000 +0100
|
||||
@@ -805,7 +805,7 @@ Excess command line arguments ignored. (
|
||||
debugging or what directory you are in. */
|
||||
|
||||
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. */
|
||||
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
|
||||
the same as the $HOME/.gdbinit file (it should exist, also). */
|
||||
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
|
||||
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.1.90.20100720/gdb/python/py-auto-load.c 2010-07-20 22:25:40.000000000 +0200
|
||||
@@ -219,7 +219,7 @@ source_section_scripts (struct objfile *
|
||||
--- gdb-7.2.50.20101231.orig/gdb/python/py-auto-load.c 2010-12-15 18:27:59.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/python/py-auto-load.c 2011-01-01 00:53:09.000000000 +0100
|
||||
@@ -224,7 +224,7 @@ source_section_scripts (struct objfile *
|
||||
}
|
||||
|
||||
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,
|
||||
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.1.90.20100720/gdb/cli/cli-cmds.h 2010-07-20 22:25:40.000000000 +0200
|
||||
--- gdb-7.2.50.20101231.orig/gdb/cli/cli-cmds.h 2010-12-29 03:11:04.000000000 +0100
|
||||
+++ 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);
|
||||
/* Exported to objfiles.c. */
|
||||
|
||||
|
@ -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]);
|
||||
}
|
@ -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
|
||||
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.1.90.20100711/gdb/exceptions.h 2010-07-13 22:56:29.000000000 +0200
|
||||
--- gdb-7.2.50.20101231.orig/gdb/exceptions.h 2010-05-03 01:52:14.000000000 +0200
|
||||
+++ gdb-7.2.50.20101231/gdb/exceptions.h 2011-01-01 01:10:44.000000000 +0100
|
||||
@@ -78,6 +78,9 @@ enum errors {
|
||||
/* Feature is not supported in this copy of GDB. */
|
||||
UNSUPPORTED_ERROR,
|
||||
@ -72,10 +72,10 @@ Index: gdb-7.1.90.20100711/gdb/exceptions.h
|
||||
/* Add more errors here. */
|
||||
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.1.90.20100711/gdb/exec.c 2010-07-13 22:56:29.000000000 +0200
|
||||
--- gdb-7.2.50.20101231.orig/gdb/exec.c 2010-08-31 20:08:43.000000000 +0200
|
||||
+++ gdb-7.2.50.20101231/gdb/exec.c 2011-01-01 01:10:44.000000000 +0100
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "arch-utils.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
|
||||
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.1.90.20100711/gdb/main.c 2010-07-13 22:58:20.000000000 +0200
|
||||
@@ -241,6 +241,36 @@ captured_command_loop (void *data)
|
||||
--- gdb-7.2.50.20101231.orig/gdb/main.c 2011-01-01 01:00:54.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/main.c 2011-01-01 01:11:48.000000000 +0100
|
||||
@@ -242,6 +242,36 @@ captured_command_loop (void *data)
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -156,7 +156,7 @@ Index: gdb-7.1.90.20100711/gdb/main.c
|
||||
static int
|
||||
captured_main (void *data)
|
||||
{
|
||||
@@ -678,6 +708,8 @@ extern int gdbtk_test (char *);
|
||||
@@ -688,6 +718,8 @@ captured_main (void *data)
|
||||
{
|
||||
symarg = argv[optind];
|
||||
execarg = argv[optind];
|
||||
@ -165,7 +165,7 @@ Index: gdb-7.1.90.20100711/gdb/main.c
|
||||
optind++;
|
||||
}
|
||||
|
||||
@@ -816,10 +848,25 @@ Excess command line arguments ignored. (
|
||||
@@ -828,10 +860,25 @@ Excess command line arguments ignored. (
|
||||
&& symarg != NULL
|
||||
&& strcmp (execarg, symarg) == 0)
|
||||
{
|
||||
@ -182,11 +182,10 @@ Index: gdb-7.1.90.20100711/gdb/main.c
|
||||
+ func = exec_file_attach;
|
||||
+
|
||||
/* The exec file and the symbol-file are the same. If we can't
|
||||
- open it, better only print one error message.
|
||||
- catch_command_errors returns non-zero on success! */
|
||||
open it, better only print one error message.
|
||||
- catch_command_errors returns non-zero on success! */
|
||||
- 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
|
||||
+ as a core file. */
|
||||
+ if (catch_command_errors (func, execarg, !batch_flag, RETURN_MASK_ALL)
|
||||
|
@ -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.20101116/gdb/event-top.c 2010-11-16 08:14:26.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/event-top.c 2010-12-29 01:58:14.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/event-top.c 2011-01-01 01:07:37.000000000 +0100
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "cli/cli-script.h" /* for reset_command_nest_depth */
|
||||
#include "main.h"
|
||||
#include "gdbthread.h"
|
||||
+#include "symfile.h"
|
||||
|
||||
/* For dont_repeat() */
|
||||
#include "gdbcmd.h"
|
||||
@@ -193,6 +194,8 @@ cli_command_loop (void)
|
||||
#include "gdbcmd.h" /* for dont_repeat() */
|
||||
|
||||
@@ -192,6 +193,8 @@ cli_command_loop (void)
|
||||
char *a_prompt;
|
||||
char *gdb_prompt = get_prompt ();
|
||||
|
||||
+ debug_flush_missing ();
|
||||
+
|
||||
/* Tell readline what the prompt to display is and what function it
|
||||
will need to call after a whole line is read. This also displays
|
||||
the first prompt. */
|
||||
@@ -264,6 +267,8 @@ display_gdb_prompt (char *new_prompt)
|
||||
/* Tell readline what the prompt to display is and what function
|
||||
it will need to call after a whole line is read. This also
|
||||
displays the first prompt. */
|
||||
@@ -263,6 +266,8 @@ display_gdb_prompt (char *new_prompt)
|
||||
/* Reset the nesting depth used when trace-commands is set. */
|
||||
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
|
||||
prompt. */
|
||||
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.20101116/gdb/elfread.c 2010-11-16 08:14:26.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/elfread.c 2011-01-01 01:05:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/elfread.c 2011-01-01 01:05:10.000000000 +0100
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "gdbcore.h"
|
||||
#include "gdbcmd.h"
|
||||
@ -464,11 +464,11 @@ Index: gdb-7.2.50.20101116/gdb/elfread.c
|
||||
}
|
||||
|
||||
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.20101116/gdb/symfile.h 2010-11-16 08:14:26.000000000 +0100
|
||||
@@ -552,6 +552,8 @@ extern struct build_id *build_id_addr_ge
|
||||
--- gdb-7.2.50.20101231.orig/gdb/symfile.h 2011-01-01 01:05:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/symfile.h 2011-01-01 01:05:10.000000000 +0100
|
||||
@@ -559,6 +559,8 @@ extern struct build_id *build_id_addr_ge
|
||||
extern char *build_id_to_filename (struct build_id *build_id,
|
||||
char **link_return, int add_debug_suffix);
|
||||
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 */
|
||||
|
||||
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.20101116/gdb/testsuite/lib/gdb.exp 2010-11-16 08:14:26.000000000 +0100
|
||||
@@ -1358,7 +1358,7 @@ proc default_gdb_start { } {
|
||||
--- gdb-7.2.50.20101231.orig/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/testsuite/lib/gdb.exp 2011-01-01 01:05:10.000000000 +0100
|
||||
@@ -1389,7 +1389,7 @@ proc default_gdb_start { } {
|
||||
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"
|
||||
gdb_expect 10 {
|
||||
-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.20101116/gdb/testsuite/lib/mi-support.exp 2010-11-16 08:14:26.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.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 } {
|
||||
}
|
||||
}
|
||||
@ -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"
|
||||
gdb_expect 10 {
|
||||
-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.20101116/gdb/tui/tui-interp.c 2010-11-16 08:14:26.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/tui/tui-interp.c 2010-05-18 00:21:43.000000000 +0200
|
||||
+++ gdb-7.2.50.20101231/gdb/tui/tui-interp.c 2011-01-01 01:05:10.000000000 +0100
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "tui/tui.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
|
||||
it will need to call after a whole line is read. This also
|
||||
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.20101116/gdb/aclocal.m4 2010-11-16 08:14:26.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.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
|
||||
@@ -19,6 +19,162 @@ You have another version of autoconf. I
|
||||
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'.])])
|
||||
@ -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.
|
||||
#
|
||||
# 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.20101116/gdb/config.in 2010-11-16 08:14:26.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/config.in 2010-09-02 19:12:35.000000000 +0200
|
||||
+++ gdb-7.2.50.20101231/gdb/config.in 2011-01-01 01:05:10.000000000 +0100
|
||||
@@ -46,6 +46,9 @@
|
||||
/* Define to BFD's default target vector. */
|
||||
#undef DEFAULT_BFD_VEC
|
||||
@ -715,11 +715,11 @@ Index: gdb-7.2.50.20101116/gdb/config.in
|
||||
/* Define if libunwind library is being used. */
|
||||
#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.20101116/gdb/configure 2010-11-16 08:15:33.000000000 +0100
|
||||
@@ -679,6 +679,9 @@ REPORT_BUGS_TO
|
||||
--- gdb-7.2.50.20101231.orig/gdb/configure 2010-12-14 08:17:14.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/configure 2011-01-01 01:08:50.000000000 +0100
|
||||
@@ -680,6 +680,9 @@ REPORT_BUGS_TO
|
||||
PKGVERSION
|
||||
TARGET_OBS
|
||||
subdirs
|
||||
@ -729,7 +729,7 @@ Index: gdb-7.2.50.20101116/gdb/configure
|
||||
GDB_DATADIR
|
||||
DEBUGDIR
|
||||
am__fastdepCC_FALSE
|
||||
@@ -945,6 +948,7 @@ enable_dependency_tracking
|
||||
@@ -946,6 +949,7 @@ enable_dependency_tracking
|
||||
with_separate_debug_dir
|
||||
with_gdb_datadir
|
||||
with_relocated_sources
|
||||
@ -737,7 +737,7 @@ Index: gdb-7.2.50.20101116/gdb/configure
|
||||
enable_targets
|
||||
enable_64_bit_bfd
|
||||
enable_gdbcli
|
||||
@@ -986,6 +990,9 @@ LDFLAGS
|
||||
@@ -987,6 +991,9 @@ LDFLAGS
|
||||
LIBS
|
||||
CPPFLAGS
|
||||
CPP
|
||||
@ -747,7 +747,7 @@ Index: gdb-7.2.50.20101116/gdb/configure
|
||||
YACC
|
||||
YFLAGS
|
||||
XMKMF'
|
||||
@@ -1649,6 +1656,8 @@ Optional Packages:
|
||||
@@ -1650,6 +1657,8 @@ Optional Packages:
|
||||
[DATADIR/gdb]
|
||||
--with-relocated-sources=PATH
|
||||
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-curses use the curses library instead of the termcap
|
||||
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
|
||||
you have headers in a nonstandard directory <include dir>
|
||||
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
|
||||
the first program found out of: `bison -y', `byacc', `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
|
||||
|
||||
|
||||
@ -1252,11 +1252,11 @@ Index: gdb-7.2.50.20101116/gdb/configure
|
||||
+
|
||||
|
||||
|
||||
subdirs="$subdirs doc testsuite"
|
||||
Index: gdb-7.2.50.20101116/gdb/configure.ac
|
||||
subdirs="$subdirs testsuite"
|
||||
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.20101116/gdb/configure.ac 2010-11-16 08:15:10.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/configure.ac 2010-12-14 08:17:15.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
|
||||
[Relocated directory for source files. ])
|
||||
])
|
||||
@ -1454,13 +1454,13 @@ Index: gdb-7.2.50.20101116/gdb/configure.ac
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
AC_CONFIG_SUBDIRS(doc testsuite)
|
||||
AC_CONFIG_SUBDIRS(testsuite)
|
||||
|
||||
# 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.20101116/gdb/acinclude.m4 2010-11-16 08:14:26.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.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
|
||||
@@ -1,3 +1,5 @@
|
||||
+# serial 1
|
||||
+
|
||||
@ -1476,10 +1476,10 @@ Index: gdb-7.2.50.20101116/gdb/acinclude.m4
|
||||
# @defmac AC_PROG_CC_STDC
|
||||
# @maindex PROG_CC_STDC
|
||||
# @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.20101116/gdb/corelow.c 2010-11-16 08:14:26.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/corelow.c 2011-01-01 01:05:01.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)
|
||||
symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
|
||||
}
|
||||
|
@ -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$@ $< && \
|
@ -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}.
|
||||
|
@ -21,11 +21,11 @@
|
||||
|
||||
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.20101116/gdb/inferior.h 2010-11-16 07:54:36.000000000 +0100
|
||||
@@ -198,7 +198,15 @@ extern void reopen_exec_file (void);
|
||||
--- gdb-7.2.50.20101231.orig/gdb/inferior.h 2011-01-01 01:25:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/inferior.h 2011-01-01 01:25:16.000000000 +0100
|
||||
@@ -186,7 +186,15 @@ extern void reopen_exec_file (void);
|
||||
/* The `resume' routine should only be called in special circumstances.
|
||||
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 */
|
||||
|
||||
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.20101116/gdb/infrun.c 2010-11-16 07:55:23.000000000 +0100
|
||||
@@ -74,7 +74,7 @@ static int follow_fork (void);
|
||||
--- gdb-7.2.50.20101231.orig/gdb/infrun.c 2011-01-01 01:25:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/infrun.c 2011-01-01 01:25:29.000000000 +0100
|
||||
@@ -76,7 +76,7 @@ static int follow_fork (void);
|
||||
static void set_schedlock_func (char *args, int from_tty,
|
||||
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,
|
||||
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).
|
||||
SIG is the signal to give the inferior (zero for none). */
|
||||
void
|
||||
@ -64,24 +64,24 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
|
||||
{
|
||||
int should_resume = 1;
|
||||
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)
|
||||
- fprintf_unfiltered (gdb_stdlog,
|
||||
- "infrun: resume (step=%d, signal=%d), "
|
||||
- "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), "
|
||||
+ "trap_expected=%d\n",
|
||||
+ (step == RESUME_STEP_CONTINUE ? "RESUME_STEP_CONTINUE"
|
||||
+ : (step == RESUME_STEP_USER ? "RESUME_STEP_USER"
|
||||
+ : "RESUME_STEP_NEEDED")),
|
||||
+ sig, tp->trap_expected);
|
||||
+ sig, tp->control.trap_expected);
|
||||
|
||||
/* Normally, by the time we reach `resume', the breakpoints are either
|
||||
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. */
|
||||
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. */
|
||||
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;
|
||||
CORE_ADDR pc;
|
||||
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
|
||||
"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.
|
||||
We'll be (un-)executing the previous instruction. */
|
||||
|
||||
@ -119,7 +119,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
|
||||
}
|
||||
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
|
||||
the old thread. */
|
||||
if (prepare_to_proceed (step))
|
||||
@ -133,9 +133,9 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
|
||||
- if (oneproc)
|
||||
+ 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
|
||||
@@ -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. */
|
||||
init_infwait_state ();
|
||||
|
||||
@ -145,12 +145,12 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
|
||||
+ resume_step = RESUME_STEP_NEEDED;
|
||||
+
|
||||
/* Resume inferior. */
|
||||
- resume (oneproc || step || bpstat_should_step (), tp->stop_signal);
|
||||
+ resume (resume_step, tp->stop_signal);
|
||||
- resume (oneproc || step || bpstat_should_step (), tp->suspend.stop_signal);
|
||||
+ resume (resume_step, tp->suspend.stop_signal);
|
||||
|
||||
/* Wait for it to stop (if not standalone)
|
||||
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? */
|
||||
|
||||
@ -158,12 +158,14 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
|
||||
+static enum resume_step
|
||||
currently_stepping (struct thread_info *tp)
|
||||
{
|
||||
- return ((tp->step_range_end && tp->step_resume_breakpoint == NULL)
|
||||
- || tp->trap_expected
|
||||
- || tp->stepping_through_solib_after_catch
|
||||
- || bpstat_should_step ());
|
||||
+ if ((tp->step_range_end && tp->step_resume_breakpoint == NULL)
|
||||
+ || tp->trap_expected
|
||||
- return ((tp->control.step_range_end
|
||||
- && tp->control.step_resume_breakpoint == NULL)
|
||||
- || tp->control.trap_expected
|
||||
- || tp->stepping_through_solib_after_catch
|
||||
- || bpstat_should_step ());
|
||||
+ if ((tp->control.step_range_end
|
||||
+ && tp->control.step_resume_breakpoint == NULL)
|
||||
+ || tp->control.trap_expected
|
||||
+ || tp->stepping_through_solib_after_catch)
|
||||
+ 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
|
||||
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.20101116/gdb/linux-nat.c 2010-11-16 07:54:36.000000000 +0100
|
||||
@@ -2883,7 +2883,10 @@ count_events_callback (struct lwp_info *
|
||||
--- gdb-7.2.50.20101231.orig/gdb/linux-nat.c 2011-01-01 01:25:16.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/linux-nat.c 2011-01-01 01:25:16.000000000 +0100
|
||||
@@ -2908,7 +2908,10 @@ count_events_callback (struct lwp_info *
|
||||
static int
|
||||
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;
|
||||
else
|
||||
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.20101116/gdb/linux-nat.h 2010-11-16 07:54:36.000000000 +0100
|
||||
--- gdb-7.2.50.20101231.orig/gdb/linux-nat.h 2011-01-01 01:25:16.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
|
||||
/* If non-zero, a pending wait status. */
|
||||
int status;
|
||||
|
@ -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
|
||||
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-6.8.50.20081128/gdb/defs.h 2008-12-06 21:49:32.000000000 +0100
|
||||
@@ -155,6 +155,7 @@ extern char *gdb_sysroot;
|
||||
--- gdb-7.2.50.20101231.orig/gdb/defs.h 2011-01-01 01:00:29.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/defs.h 2011-01-01 01:09:17.000000000 +0100
|
||||
@@ -165,6 +165,7 @@ extern char *python_libdir;
|
||||
extern char *debug_file_directory;
|
||||
|
||||
extern int quit_flag;
|
||||
@ -17,7 +17,7 @@ Index: gdb-6.8.50.20081128/gdb/defs.h
|
||||
extern int immediate_quit;
|
||||
extern int sevenbit_strings;
|
||||
|
||||
@@ -168,7 +169,7 @@ extern void quit (void);
|
||||
@@ -178,7 +179,7 @@ extern void quit (void);
|
||||
needed. */
|
||||
|
||||
#define QUIT { \
|
||||
@ -26,24 +26,24 @@ Index: gdb-6.8.50.20081128/gdb/defs.h
|
||||
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-6.8.50.20081128/gdb/event-top.c 2008-12-06 21:49:07.000000000 +0100
|
||||
@@ -939,7 +939,7 @@ async_request_quit (gdb_client_data arg)
|
||||
--- gdb-7.2.50.20101231.orig/gdb/event-top.c 2011-01-01 01:07:37.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/event-top.c 2011-01-01 01:09:39.000000000 +0100
|
||||
@@ -904,7 +904,7 @@ async_request_quit (gdb_client_data arg)
|
||||
is no reason to call quit again here, unless immediate_quit is
|
||||
set.*/
|
||||
set. */
|
||||
|
||||
- if (quit_flag || immediate_quit)
|
||||
+ if ((quit_flag || immediate_quit) && !quit_flag_cleanup)
|
||||
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-6.8.50.20081128/gdb/top.c 2008-12-06 21:49:07.000000000 +0100
|
||||
@@ -1299,7 +1299,9 @@ quit_force (char *args, int from_tty)
|
||||
--- gdb-7.2.50.20101231.orig/gdb/top.c 2011-01-01 01:00:29.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/top.c 2011-01-01 01:09:17.000000000 +0100
|
||||
@@ -1254,7 +1254,9 @@ quit_force (char *args, int from_tty)
|
||||
qt.args = args;
|
||||
qt.from_tty = from_tty;
|
||||
|
||||
@ -54,11 +54,11 @@ Index: gdb-6.8.50.20081128/gdb/top.c
|
||||
catch_errors (quit_target, &qt,
|
||||
"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-6.8.50.20081128/gdb/utils.c 2008-12-06 21:49:07.000000000 +0100
|
||||
@@ -114,6 +114,11 @@ int job_control;
|
||||
--- gdb-7.2.50.20101231.orig/gdb/utils.c 2011-01-01 01:00:29.000000000 +0100
|
||||
+++ gdb-7.2.50.20101231/gdb/utils.c 2011-01-01 01:09:17.000000000 +0100
|
||||
@@ -121,6 +121,11 @@ int job_control;
|
||||
|
||||
int quit_flag;
|
||||
|
||||
|
@ -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;
|
||||
|
2601
gdb-archer.patch
2601
gdb-archer.patch
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
+++ ./gdb/infrun.c 2009-12-09 22:29:56.000000000 +0100
|
||||
@@ -3994,6 +3994,12 @@ infrun: not switching back to stepped th
|
||||
Index: gdb-7.2.50.20101231/gdb/infrun.c
|
||||
===================================================================
|
||||
--- 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);
|
||||
+
|
||||
@ -36,7 +38,7 @@ debugging problem of GOMP outside of the scope of this Bug.
|
||||
/* We're doing a "next".
|
||||
|
||||
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);
|
||||
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
|
||||
--- ./gdb/testsuite/gdb.fortran/omp-step.exp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./gdb/testsuite/gdb.fortran/omp-step.exp 2009-12-09 22:31:04.000000000 +0100
|
||||
Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.exp
|
||||
===================================================================
|
||||
--- /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 @@
|
||||
+# 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_continue_to_breakpoint "success" ".*success.*"
|
||||
--- ./gdb/testsuite/gdb.fortran/omp-step.f90 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./gdb/testsuite/gdb.fortran/omp-step.f90 2009-12-09 22:25:35.000000000 +0100
|
||||
Index: gdb-7.2.50.20101231/gdb/testsuite/gdb.fortran/omp-step.f90
|
||||
===================================================================
|
||||
--- /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 @@
|
||||
+! Copyright 2009 Free Software Foundation, Inc.
|
||||
+
|
||||
|
@ -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
40
gdb.spec
40
gdb.spec
@ -23,11 +23,11 @@ Name: gdb%{?_with_debug:-debug}
|
||||
# Set version to contents of gdb/version.in.
|
||||
# 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).
|
||||
Version: 7.2.50.20101117
|
||||
Version: 7.2.50.20101231
|
||||
|
||||
# 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.
|
||||
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
|
||||
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.
|
||||
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).
|
||||
#=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
|
||||
@ -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@.*>
|
||||
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).
|
||||
#=fedoratest
|
||||
Patch245: gdb-6.6-bz229517-gcore-without-terminal.patch
|
||||
@ -292,10 +283,6 @@ Patch254: gdb-6.6-testsuite-timeouts.patch
|
||||
#=fedoratest
|
||||
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.
|
||||
#=fedoratest
|
||||
Patch263: gdb-6.3-attach-see-vdso-test.patch
|
||||
@ -516,14 +503,6 @@ Patch510: gdb-bz592031-siginfo-lost-4of5.patch
|
||||
#=push
|
||||
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).
|
||||
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
|
||||
%patch169 -p1
|
||||
%patch188 -p1
|
||||
%patch190 -p1
|
||||
%patch194 -p1
|
||||
%patch196 -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
|
||||
%patch234 -p1
|
||||
%patch235 -p1
|
||||
%patch241 -p1
|
||||
%patch245 -p1
|
||||
%patch247 -p1
|
||||
%patch254 -p1
|
||||
%patch258 -p1
|
||||
%patch260 -p1
|
||||
%patch261 -p1
|
||||
%patch263 -p1
|
||||
%patch265 -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
|
||||
%patch510 -p1
|
||||
%patch511 -p1
|
||||
%patch520 -p1
|
||||
%patch525 -p1
|
||||
%patch526 -p1
|
||||
|
||||
%patch393 -p1
|
||||
@ -1147,6 +1121,16 @@ fi
|
||||
%endif
|
||||
|
||||
%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
|
||||
- Provide stub %%{_sysconfdir}/gdbinit (BZ 651232).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user