OBS User unknown 2009-05-28 01:09:55 +00:00 committed by Git OBS Bridge
parent 857649c2a6
commit 5bd986bfb2
9 changed files with 1473 additions and 335 deletions

View File

@ -28,8 +28,8 @@
Index: gdb-6.8.50.20090302/gdb/amd64-tdep.c Index: gdb-6.8.50.20090302/gdb/amd64-tdep.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/amd64-tdep.c 2009-03-07 00:30:09.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/amd64-tdep.c 2009-05-10 21:36:29.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/amd64-tdep.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/amd64-tdep.c 2009-05-10 21:41:23.000000000 +0200
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
#include "regcache.h" #include "regcache.h"
#include "regset.h" #include "regset.h"
@ -134,8 +134,8 @@ Index: gdb-6.8.50.20090302/gdb/amd64-tdep.c
Index: gdb-6.8.50.20090302/gdb/auxv.c Index: gdb-6.8.50.20090302/gdb/auxv.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/auxv.c 2009-03-07 00:30:06.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/auxv.c 2009-05-10 21:36:27.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/auxv.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/auxv.c 2009-05-10 21:41:23.000000000 +0200
@@ -81,7 +81,7 @@ procfs_xfer_auxv (struct target_ops *ops @@ -81,7 +81,7 @@ procfs_xfer_auxv (struct target_ops *ops
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */
static int static int
@ -206,7 +206,7 @@ Index: gdb-6.8.50.20090302/gdb/auxv.c
{ {
#define TAG(tag, text, kind) \ #define TAG(tag, text, kind) \
case tag: name = #tag; description = text; flavor = kind; break case tag: name = #tag; description = text; flavor = kind; break
@@ -232,7 +234,7 @@ fprint_target_auxv (struct ui_file *file @@ -233,7 +235,7 @@ fprint_target_auxv (struct ui_file *file
} }
fprintf_filtered (file, "%-4s %-20s %-30s ", fprintf_filtered (file, "%-4s %-20s %-30s ",
@ -215,7 +215,7 @@ Index: gdb-6.8.50.20090302/gdb/auxv.c
switch (flavor) switch (flavor)
{ {
case dec: case dec:
@@ -254,7 +256,7 @@ fprint_target_auxv (struct ui_file *file @@ -255,7 +257,7 @@ fprint_target_auxv (struct ui_file *file
break; break;
} }
++ents; ++ents;
@ -227,7 +227,7 @@ Index: gdb-6.8.50.20090302/gdb/auxv.c
Index: gdb-6.8.50.20090302/gdb/auxv.h Index: gdb-6.8.50.20090302/gdb/auxv.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/auxv.h 2009-01-03 06:57:50.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/auxv.h 2009-01-03 06:57:50.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/auxv.h 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/auxv.h 2009-05-10 21:41:23.000000000 +0200
@@ -36,14 +36,14 @@ struct target_ops; /* Forward declarati @@ -36,14 +36,14 @@ struct target_ops; /* Forward declarati
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */
extern int target_auxv_parse (struct target_ops *ops, extern int target_auxv_parse (struct target_ops *ops,
@ -247,8 +247,8 @@ Index: gdb-6.8.50.20090302/gdb/auxv.h
extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops); extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops);
Index: gdb-6.8.50.20090302/gdb/breakpoint.c Index: gdb-6.8.50.20090302/gdb/breakpoint.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-03-07 00:30:10.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-05-10 21:36:30.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-05-10 21:41:23.000000000 +0200
@@ -3920,7 +3920,8 @@ describe_other_breakpoints (CORE_ADDR pc @@ -3920,7 +3920,8 @@ describe_other_breakpoints (CORE_ADDR pc
printf_filtered (" (thread %d)", b->thread); printf_filtered (" (thread %d)", b->thread);
printf_filtered ("%s%s ", printf_filtered ("%s%s ",
@ -259,7 +259,7 @@ Index: gdb-6.8.50.20090302/gdb/breakpoint.c
? " (disabled)" ? " (disabled)"
: b->enable_state == bp_permanent : b->enable_state == bp_permanent
? " (permanent)" ? " (permanent)"
@@ -5008,6 +5009,61 @@ create_catchpoint (int tempflag, char *c @@ -5009,6 +5010,61 @@ create_catchpoint (int tempflag, char *c
return b; return b;
} }
@ -323,8 +323,8 @@ Index: gdb-6.8.50.20090302/gdb/breakpoint.c
struct breakpoint_ops *ops) struct breakpoint_ops *ops)
Index: gdb-6.8.50.20090302/gdb/breakpoint.h Index: gdb-6.8.50.20090302/gdb/breakpoint.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/breakpoint.h 2009-03-07 00:30:06.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/breakpoint.h 2009-05-10 21:36:27.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/breakpoint.h 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/breakpoint.h 2009-05-10 21:41:23.000000000 +0200
@@ -127,6 +127,7 @@ enum enable_state @@ -127,6 +127,7 @@ enum enable_state
automatically enabled and reset when the call automatically enabled and reset when the call
"lands" (either completes, or stops at another "lands" (either completes, or stops at another
@ -346,9 +346,9 @@ Index: gdb-6.8.50.20090302/gdb/breakpoint.h
Index: gdb-6.8.50.20090302/gdb/dwarf2read.c Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-03-07 00:30:10.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-05-10 21:36:30.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-05-10 21:41:23.000000000 +0200
@@ -1413,7 +1413,7 @@ dwarf2_build_psymtabs (struct objfile *o @@ -1438,7 +1438,7 @@ dwarf2_build_psymtabs (struct objfile *o
else else
dwarf2_per_objfile->loc_buffer = NULL; dwarf2_per_objfile->loc_buffer = NULL;
@ -359,8 +359,8 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
{ {
Index: gdb-6.8.50.20090302/gdb/elfread.c Index: gdb-6.8.50.20090302/gdb/elfread.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/elfread.c 2009-03-07 00:30:06.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/elfread.c 2009-05-10 21:36:27.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/elfread.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/elfread.c 2009-05-10 21:41:23.000000000 +0200
@@ -680,7 +680,7 @@ elf_symfile_read (struct objfile *objfil @@ -680,7 +680,7 @@ elf_symfile_read (struct objfile *objfil
/* If we are reinitializing, or if we have never loaded syms yet, /* If we are reinitializing, or if we have never loaded syms yet,
set table to empty. MAINLINE is cleared so that *_read_psymtab set table to empty. MAINLINE is cleared so that *_read_psymtab
@ -372,8 +372,8 @@ Index: gdb-6.8.50.20090302/gdb/elfread.c
mainline = 0; mainline = 0;
Index: gdb-6.8.50.20090302/gdb/infrun.c Index: gdb-6.8.50.20090302/gdb/infrun.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-03-07 00:30:10.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-05-10 21:36:30.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/infrun.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/infrun.c 2009-05-10 21:41:23.000000000 +0200
@@ -3354,6 +3354,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME ( @@ -3354,6 +3354,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
#endif #endif
target_terminal_inferior (); target_terminal_inferior ();
@ -388,11 +388,11 @@ Index: gdb-6.8.50.20090302/gdb/infrun.c
and place breakpoints in initializer routines for and place breakpoints in initializer routines for
Index: gdb-6.8.50.20090302/gdb/objfiles.c Index: gdb-6.8.50.20090302/gdb/objfiles.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/objfiles.c 2009-03-07 00:30:06.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/objfiles.c 2009-05-10 21:36:42.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/objfiles.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/objfiles.c 2009-05-10 21:41:36.000000000 +0200
@@ -51,6 +51,9 @@ @@ -52,6 +52,9 @@
#include "arch-utils.h"
#include "exec.h" #include "exec.h"
#include "varobj.h"
+#include "auxv.h" +#include "auxv.h"
+#include "elf/common.h" +#include "elf/common.h"
@ -400,7 +400,7 @@ Index: gdb-6.8.50.20090302/gdb/objfiles.c
/* Prototypes for local functions */ /* Prototypes for local functions */
static void objfile_alloc_data (struct objfile *objfile); static void objfile_alloc_data (struct objfile *objfile);
@@ -271,7 +274,19 @@ init_entry_point_info (struct objfile *o @@ -272,7 +275,19 @@ init_entry_point_info (struct objfile *o
CORE_ADDR CORE_ADDR
entry_point_address (void) entry_point_address (void)
{ {
@ -421,7 +421,7 @@ Index: gdb-6.8.50.20090302/gdb/objfiles.c
} }
/* Create the terminating entry of OBJFILE's minimal symbol table. /* Create the terminating entry of OBJFILE's minimal symbol table.
@@ -443,6 +458,9 @@ free_objfile (struct objfile *objfile) @@ -445,6 +460,9 @@ free_objfile (struct objfile *objfile)
if (objfile == rt_common_objfile) if (objfile == rt_common_objfile)
rt_common_objfile = NULL; rt_common_objfile = NULL;
@ -433,8 +433,8 @@ Index: gdb-6.8.50.20090302/gdb/objfiles.c
linkage unit, gdb used to do these things whenever the monolithic linkage unit, gdb used to do these things whenever the monolithic
Index: gdb-6.8.50.20090302/gdb/solib-svr4.c Index: gdb-6.8.50.20090302/gdb/solib-svr4.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/solib-svr4.c 2009-03-07 00:30:09.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/solib-svr4.c 2009-05-10 21:36:29.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/solib-svr4.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/solib-svr4.c 2009-05-10 21:41:23.000000000 +0200
@@ -45,6 +45,7 @@ @@ -45,6 +45,7 @@
#include "exec.h" #include "exec.h"
#include "auxv.h" #include "auxv.h"
@ -1119,7 +1119,7 @@ Index: gdb-6.8.50.20090302/gdb/solib-svr4.c
Index: gdb-6.8.50.20090302/gdb/solib.c Index: gdb-6.8.50.20090302/gdb/solib.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/solib.c 2009-02-21 17:14:49.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/solib.c 2009-02-21 17:14:49.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/solib.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/solib.c 2009-05-10 21:41:23.000000000 +0200
@@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch, @@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch,
/* external data declarations */ /* external data declarations */
@ -1309,7 +1309,7 @@ Index: gdb-6.8.50.20090302/gdb/solib.c
Index: gdb-6.8.50.20090302/gdb/solist.h Index: gdb-6.8.50.20090302/gdb/solist.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/solist.h 2009-02-04 09:42:11.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/solist.h 2009-02-04 09:42:11.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/solist.h 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/solist.h 2009-05-10 21:41:23.000000000 +0200
@@ -61,6 +61,8 @@ struct so_list @@ -61,6 +61,8 @@ struct so_list
bfd *abfd; bfd *abfd;
char symbols_loaded; /* flag: symbols read in yet? */ char symbols_loaded; /* flag: symbols read in yet? */
@ -1332,8 +1332,8 @@ Index: gdb-6.8.50.20090302/gdb/solist.h
#endif #endif
Index: gdb-6.8.50.20090302/gdb/symfile-mem.c Index: gdb-6.8.50.20090302/gdb/symfile-mem.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/symfile-mem.c 2009-03-07 00:30:08.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/symfile-mem.c 2009-05-10 21:36:28.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/symfile-mem.c 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/symfile-mem.c 2009-05-10 21:41:23.000000000 +0200
@@ -116,7 +116,7 @@ symbol_file_add_from_memory (struct bfd @@ -116,7 +116,7 @@ symbol_file_add_from_memory (struct bfd
} }
@ -1345,8 +1345,8 @@ Index: gdb-6.8.50.20090302/gdb/symfile-mem.c
reinit_frame_cache (); reinit_frame_cache ();
Index: gdb-6.8.50.20090302/gdb/symfile.c Index: gdb-6.8.50.20090302/gdb/symfile.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-03-07 00:30:09.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-05-10 21:37:51.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/symfile.c 2009-03-07 00:31:24.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/symfile.c 2009-05-10 21:41:23.000000000 +0200
@@ -47,6 +47,7 @@ @@ -47,6 +47,7 @@
#include "readline/readline.h" #include "readline/readline.h"
#include "gdb_assert.h" #include "gdb_assert.h"
@ -1397,7 +1397,7 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
/* We're done reading the symbol file; finish off complaints. */ /* We're done reading the symbol file; finish off complaints. */
clear_complaints (&symfile_complaints, 0, verbo); clear_complaints (&symfile_complaints, 0, verbo);
@@ -980,7 +985,7 @@ symbol_file_add_with_addrs_or_offsets (b @@ -982,7 +987,7 @@ symbol_file_add_with_addrs_or_offsets (b
/* Give user a chance to burp if we'd be /* Give user a chance to burp if we'd be
interactively wiping out any existing symbols. */ interactively wiping out any existing symbols. */
@ -1406,7 +1406,7 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
&& from_tty && from_tty
&& (have_full_symbols () || have_partial_symbols ()) && (have_full_symbols () || have_partial_symbols ())
&& !query (_("Load new symbol table from \"%s\"? "), name)) && !query (_("Load new symbol table from \"%s\"? "), name))
@@ -1175,6 +1180,10 @@ symbol_file_clear (int from_tty) @@ -1178,6 +1183,10 @@ symbol_file_clear (int from_tty)
symfile_objfile->name) symfile_objfile->name)
: !query (_("Discard symbol table? ")))) : !query (_("Discard symbol table? "))))
error (_("Not confirmed.")); error (_("Not confirmed."));
@ -1417,7 +1417,7 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
free_all_objfiles (); free_all_objfiles ();
/* solib descriptors may have handles to objfiles. Since their /* solib descriptors may have handles to objfiles. Since their
@@ -3275,6 +3284,8 @@ reread_symbols (void) @@ -3367,6 +3376,8 @@ reread_symbols (void)
/* Discard cleanups as symbol reading was successful. */ /* Discard cleanups as symbol reading was successful. */
discard_cleanups (old_cleanups); discard_cleanups (old_cleanups);
@ -1428,8 +1428,8 @@ Index: gdb-6.8.50.20090302/gdb/symfile.c
again now. */ again now. */
Index: gdb-6.8.50.20090302/gdb/target.h Index: gdb-6.8.50.20090302/gdb/target.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/target.h 2009-03-07 00:30:09.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/target.h 2009-05-10 21:36:29.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/target.h 2009-03-07 00:30:12.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/target.h 2009-05-10 21:41:23.000000000 +0200
@@ -542,7 +542,7 @@ struct target_ops @@ -542,7 +542,7 @@ struct target_ops
Return -1 if there is insufficient buffer for a whole entry. Return -1 if there is insufficient buffer for a whole entry.
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */

View File

@ -11,10 +11,10 @@
* gdb.texinfo (File Options): Document --readnever. * gdb.texinfo (File Options): Document --readnever.
Index: gdb-6.8.50.20090228/gdb/doc/gdb.texinfo Index: gdb-6.8.50.20090302/gdb/doc/gdb.texinfo
=================================================================== ===================================================================
--- gdb-6.8.50.20090228.orig/gdb/doc/gdb.texinfo 2009-03-02 01:01:15.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/doc/gdb.texinfo 2009-05-09 20:00:02.000000000 +0200
+++ gdb-6.8.50.20090228/gdb/doc/gdb.texinfo 2009-03-02 01:01:23.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/doc/gdb.texinfo 2009-05-09 20:00:06.000000000 +0200
@@ -988,6 +988,12 @@ Read each symbol file's entire symbol ta @@ -988,6 +988,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,10 +28,10 @@ Index: gdb-6.8.50.20090228/gdb/doc/gdb.texinfo
@end table @end table
@node Mode Options @node Mode Options
Index: gdb-6.8.50.20090228/gdb/main.c Index: gdb-6.8.50.20090302/gdb/main.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090228.orig/gdb/main.c 2009-03-02 01:01:17.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/main.c 2009-05-09 20:00:03.000000000 +0200
+++ gdb-6.8.50.20090228/gdb/main.c 2009-03-02 01:01:23.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/main.c 2009-05-09 20:00:06.000000000 +0200
@@ -427,6 +427,7 @@ captured_main (void *data) @@ -427,6 +427,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},
@ -48,10 +48,10 @@ Index: gdb-6.8.50.20090228/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-6.8.50.20090228/gdb/symfile.c Index: gdb-6.8.50.20090302/gdb/symfile.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090228.orig/gdb/symfile.c 2009-03-02 01:01:17.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-05-09 20:00:03.000000000 +0200
+++ gdb-6.8.50.20090228/gdb/symfile.c 2009-03-02 01:01:23.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/symfile.c 2009-05-09 20:00:06.000000000 +0200
@@ -77,6 +77,7 @@ static void clear_symtab_users_cleanup ( @@ -77,6 +77,7 @@ static void clear_symtab_users_cleanup (
/* Global variables owned by this file */ /* Global variables owned by this file */
@ -60,19 +60,19 @@ Index: gdb-6.8.50.20090228/gdb/symfile.c
/* External variables and functions referenced. */ /* External variables and functions referenced. */
Index: gdb-6.8.50.20090228/gdb/dwarf2read.c Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090228.orig/gdb/dwarf2read.c 2009-03-02 01:01:15.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-05-09 20:00:02.000000000 +0200
+++ gdb-6.8.50.20090228/gdb/dwarf2read.c 2009-03-02 01:01:36.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-05-09 20:00:19.000000000 +0200
@@ -49,6 +49,7 @@ @@ -50,6 +50,7 @@
#include "f-lang.h"
#include "c-lang.h" #include "c-lang.h"
#include "typeprint.h" #include "typeprint.h"
#include "block.h"
+#include "top.h" +#include "top.h"
#include <fcntl.h> #include <fcntl.h>
#include "gdb_string.h" #include "gdb_string.h"
@@ -1161,7 +1162,8 @@ dwarf2_has_info (struct objfile *objfile @@ -1187,7 +1188,8 @@ dwarf2_has_info (struct objfile *objfile
dwarf_aranges_section = 0; dwarf_aranges_section = 0;
bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, &update_sizes); bfd_map_over_sections (objfile->obfd, dwarf2_locate_sections, &update_sizes);
@ -82,10 +82,10 @@ Index: gdb-6.8.50.20090228/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-6.8.50.20090228/gdb/top.h Index: gdb-6.8.50.20090302/gdb/top.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090228.orig/gdb/top.h 2009-01-03 06:57:53.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/top.h 2009-01-03 06:57:53.000000000 +0100
+++ gdb-6.8.50.20090228/gdb/top.h 2009-03-02 01:01:23.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/top.h 2009-05-09 20:00:06.000000000 +0200
@@ -59,6 +59,7 @@ extern void set_prompt (char *); @@ -59,6 +59,7 @@ extern void set_prompt (char *);
/* From random places. */ /* From random places. */

View File

@ -1,8 +1,8 @@
Index: gdb-6.8.50.20090228/gdb/dwarf2read.c Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090228.orig/gdb/dwarf2read.c 2009-03-02 01:07:36.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-05-09 20:04:27.000000000 +0200
+++ gdb-6.8.50.20090228/gdb/dwarf2read.c 2009-03-02 01:07:50.000000000 +0100 +++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-05-09 20:04:56.000000000 +0200
@@ -1996,6 +1996,7 @@ scan_partial_symbols (struct partial_die @@ -2029,6 +2029,7 @@ scan_partial_symbols (struct partial_die
add_partial_subprogram (pdi, lowpc, highpc, need_pc, cu); add_partial_subprogram (pdi, lowpc, highpc, need_pc, cu);
break; break;
case DW_TAG_variable: case DW_TAG_variable:
@ -10,7 +10,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
case DW_TAG_typedef: case DW_TAG_typedef:
case DW_TAG_union_type: case DW_TAG_union_type:
if (!pdi->is_declaration) if (!pdi->is_declaration)
@@ -2211,6 +2212,7 @@ add_partial_symbol (struct partial_die_i @@ -2244,6 +2245,7 @@ add_partial_symbol (struct partial_die_i
} }
break; break;
case DW_TAG_variable: case DW_TAG_variable:
@ -18,7 +18,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
if (pdi->is_external) if (pdi->is_external)
{ {
/* Global Variable. /* Global Variable.
@@ -4213,7 +4215,8 @@ dwarf2_add_field (struct field_info *fip @@ -4272,7 +4274,8 @@ dwarf2_add_field (struct field_info *fip
fip->non_public_fields = 1; fip->non_public_fields = 1;
} }
} }
@ -28,7 +28,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
{ {
/* C++ static member. */ /* C++ static member. */
@@ -4703,7 +4706,8 @@ read_structure_type (struct die_info *di @@ -4762,7 +4765,8 @@ read_structure_type (struct die_info *di
while (child_die && child_die->tag) while (child_die && child_die->tag)
{ {
if (child_die->tag == DW_TAG_member if (child_die->tag == DW_TAG_member
@ -38,7 +38,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
{ {
/* NOTE: carlton/2002-11-05: A C++ static data member /* NOTE: carlton/2002-11-05: A C++ static data member
should be a DW_TAG_member that is a declaration, but should be a DW_TAG_member that is a declaration, but
@@ -4822,6 +4826,7 @@ process_structure_scope (struct die_info @@ -4881,6 +4885,7 @@ process_structure_scope (struct die_info
{ {
if (child_die->tag == DW_TAG_member if (child_die->tag == DW_TAG_member
|| child_die->tag == DW_TAG_variable || child_die->tag == DW_TAG_variable
@ -46,15 +46,15 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
|| child_die->tag == DW_TAG_inheritance) || child_die->tag == DW_TAG_inheritance)
{ {
/* Do nothing. */ /* Do nothing. */
@@ -6455,6 +6460,7 @@ load_partial_dies (bfd *abfd, gdb_byte * @@ -6656,6 +6661,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
&& abbrev->tag != DW_TAG_subprogram && abbrev->tag != DW_TAG_subprogram
&& abbrev->tag != DW_TAG_lexical_block && abbrev->tag != DW_TAG_lexical_block
&& abbrev->tag != DW_TAG_variable && abbrev->tag != DW_TAG_variable
+ && abbrev->tag != DW_TAG_constant + && abbrev->tag != DW_TAG_constant
&& abbrev->tag != DW_TAG_namespace && abbrev->tag != DW_TAG_namespace
&& abbrev->tag != DW_TAG_module
&& abbrev->tag != DW_TAG_member) && abbrev->tag != DW_TAG_member)
{ @@ -6764,6 +6770,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
@@ -6562,6 +6568,7 @@ load_partial_dies (bfd *abfd, gdb_byte *
if (load_all if (load_all
|| abbrev->tag == DW_TAG_subprogram || abbrev->tag == DW_TAG_subprogram
|| abbrev->tag == DW_TAG_variable || abbrev->tag == DW_TAG_variable
@ -62,7 +62,7 @@ Index: gdb-6.8.50.20090228/gdb/dwarf2read.c
|| abbrev->tag == DW_TAG_namespace || abbrev->tag == DW_TAG_namespace
|| part_die->is_declaration) || part_die->is_declaration)
{ {
@@ -8341,6 +8348,11 @@ new_symbol (struct die_info *die, struct @@ -8549,6 +8556,11 @@ new_symbol (struct die_info *die, struct
/* Do not add the symbol to any lists. It will be found via /* Do not add the symbol to any lists. It will be found via
BLOCK_FUNCTION from the blockvector. */ BLOCK_FUNCTION from the blockvector. */
break; break;

View File

@ -7,8 +7,8 @@ Removed dwarf_expr_frame_base NULL check duplicity with *-vla.patch.
Index: gdb-6.8.50.20090302/gdb/NEWS Index: gdb-6.8.50.20090302/gdb/NEWS
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/NEWS 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/NEWS 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/NEWS 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/NEWS 2009-05-09 21:27:23.000000000 +0200
@@ -1,6 +1,11 @@ @@ -1,6 +1,11 @@
What has changed in GDB? What has changed in GDB?
(Organized release by release) (Organized release by release)
@ -23,8 +23,8 @@ Index: gdb-6.8.50.20090302/gdb/NEWS
* GDB now has support for multi-byte and wide character sets on the * GDB now has support for multi-byte and wide character sets on the
Index: gdb-6.8.50.20090302/gdb/block.c Index: gdb-6.8.50.20090302/gdb/block.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/block.c 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/block.c 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/block.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/block.c 2009-05-09 21:27:23.000000000 +0200
@@ -47,8 +47,16 @@ contained_in (const struct block *a, con @@ -47,8 +47,16 @@ contained_in (const struct block *a, con
{ {
if (!a || !b) if (!a || !b)
@ -69,8 +69,8 @@ Index: gdb-6.8.50.20090302/gdb/block.c
is none. PBLOCK is a pointer to the block. If PBLOCK is NULL, we is none. PBLOCK is a pointer to the block. If PBLOCK is NULL, we
Index: gdb-6.8.50.20090302/gdb/block.h Index: gdb-6.8.50.20090302/gdb/block.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/block.h 2009-01-03 06:57:50.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/block.h 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/block.h 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/block.h 2009-05-09 21:27:23.000000000 +0200
@@ -65,7 +65,7 @@ struct block @@ -65,7 +65,7 @@ struct block
CORE_ADDR endaddr; CORE_ADDR endaddr;
@ -80,7 +80,7 @@ Index: gdb-6.8.50.20090302/gdb/block.h
struct symbol *function; struct symbol *function;
@@ -134,6 +134,8 @@ enum { GLOBAL_BLOCK = 0, STATIC_BLOCK = @@ -144,6 +144,8 @@ enum { GLOBAL_BLOCK = 0, STATIC_BLOCK =
extern struct symbol *block_linkage_function (const struct block *); extern struct symbol *block_linkage_function (const struct block *);
@ -92,7 +92,7 @@ Index: gdb-6.8.50.20090302/gdb/block.h
Index: gdb-6.8.50.20090302/gdb/blockframe.c Index: gdb-6.8.50.20090302/gdb/blockframe.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/blockframe.c 2009-01-03 06:57:50.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/blockframe.c 2009-01-03 06:57:50.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/blockframe.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/blockframe.c 2009-05-09 21:27:23.000000000 +0200
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
#include "command.h" #include "command.h"
#include "gdbcmd.h" #include "gdbcmd.h"
@ -163,8 +163,8 @@ Index: gdb-6.8.50.20090302/gdb/blockframe.c
frame = get_prev_frame (frame); frame = get_prev_frame (frame);
Index: gdb-6.8.50.20090302/gdb/breakpoint.c Index: gdb-6.8.50.20090302/gdb/breakpoint.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-04-13 22:19:50.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-05-09 21:27:15.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-05-09 21:27:23.000000000 +0200
@@ -2641,19 +2641,21 @@ watchpoint_check (void *p) @@ -2641,19 +2641,21 @@ watchpoint_check (void *p)
within_current_scope = 1; within_current_scope = 1;
else else
@ -344,8 +344,8 @@ Index: gdb-6.8.50.20090302/gdb/breakpoint.c
} }
Index: gdb-6.8.50.20090302/gdb/buildsym.c Index: gdb-6.8.50.20090302/gdb/buildsym.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/buildsym.c 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/buildsym.c 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/buildsym.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/buildsym.c 2009-05-09 21:27:23.000000000 +0200
@@ -1155,6 +1155,12 @@ end_symtab (CORE_ADDR end_addr, struct o @@ -1155,6 +1155,12 @@ end_symtab (CORE_ADDR end_addr, struct o
struct symbol *sym; struct symbol *sym;
struct dict_iterator iter; struct dict_iterator iter;
@ -361,8 +361,8 @@ Index: gdb-6.8.50.20090302/gdb/buildsym.c
sym = dict_iterator_next (&iter)) sym = dict_iterator_next (&iter))
Index: gdb-6.8.50.20090302/gdb/doc/gdb.texinfo Index: gdb-6.8.50.20090302/gdb/doc/gdb.texinfo
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/doc/gdb.texinfo 2009-04-13 22:19:50.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/doc/gdb.texinfo 2009-05-09 21:27:15.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/doc/gdb.texinfo 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/doc/gdb.texinfo 2009-05-09 21:27:23.000000000 +0200
@@ -137,6 +137,7 @@ software in general. We will miss him. @@ -137,6 +137,7 @@ software in general. We will miss him.
* Stack:: Examining the stack * Stack:: Examining the stack
* Source:: Examining source files * Source:: Examining source files
@ -514,8 +514,8 @@ Index: gdb-6.8.50.20090302/gdb/doc/gdb.texinfo
Index: gdb-6.8.50.20090302/gdb/dwarf2loc.c Index: gdb-6.8.50.20090302/gdb/dwarf2loc.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/dwarf2loc.c 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/dwarf2loc.c 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/dwarf2loc.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/dwarf2loc.c 2009-05-09 21:27:23.000000000 +0200
@@ -31,6 +31,7 @@ @@ -31,6 +31,7 @@
#include "regcache.h" #include "regcache.h"
#include "objfiles.h" #include "objfiles.h"
@ -538,17 +538,9 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2loc.c
some function associated with a frame. If we can't find the frame, some function associated with a frame. If we can't find the frame,
Index: gdb-6.8.50.20090302/gdb/dwarf2read.c Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-04-13 22:19:50.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-05-09 21:27:15.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-04-13 22:22:41.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-05-09 21:27:23.000000000 +0200
@@ -50,6 +50,7 @@ @@ -3024,12 +3024,8 @@ process_die (struct die_info *die, struc
#include "c-lang.h"
#include "typeprint.h"
#include "top.h"
+#include "block.h"
#include <fcntl.h>
#include "gdb_string.h"
@@ -2992,12 +2993,8 @@ process_die (struct die_info *die, struc
read_file_scope (die, cu); read_file_scope (die, cu);
break; break;
case DW_TAG_subprogram: case DW_TAG_subprogram:
@ -562,7 +554,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
break; break;
case DW_TAG_lexical_block: case DW_TAG_lexical_block:
case DW_TAG_try_block: case DW_TAG_try_block:
@@ -3472,6 +3469,22 @@ read_func_scope (struct die_info *die, s @@ -3516,6 +3512,22 @@ read_func_scope (struct die_info *die, s
CORE_ADDR baseaddr; CORE_ADDR baseaddr;
struct block *block; struct block *block;
unsigned die_children; unsigned die_children;
@ -585,7 +577,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
@@ -7531,6 +7544,9 @@ die_specification (struct die_info *die, @@ -7725,6 +7737,9 @@ die_specification (struct die_info *die,
*spec_cu); *spec_cu);
if (spec_attr == NULL) if (spec_attr == NULL)
@ -595,7 +587,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
return NULL; return NULL;
else else
return follow_die_ref (die, spec_attr, spec_cu); return follow_die_ref (die, spec_attr, spec_cu);
@@ -8214,6 +8230,7 @@ new_symbol (struct die_info *die, struct @@ -8408,6 +8423,7 @@ new_symbol (struct die_info *die, struct
struct attribute *attr = NULL; struct attribute *attr = NULL;
struct attribute *attr2 = NULL; struct attribute *attr2 = NULL;
CORE_ADDR baseaddr; CORE_ADDR baseaddr;
@ -603,7 +595,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
@@ -8264,13 +8281,17 @@ new_symbol (struct die_info *die, struct @@ -8464,13 +8480,17 @@ new_symbol (struct die_info *die, struct
SYMBOL_TYPE (sym) = type; SYMBOL_TYPE (sym) = type;
else else
SYMBOL_TYPE (sym) = die_type (die, cu); SYMBOL_TYPE (sym) = die_type (die, cu);
@ -623,7 +615,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
if (attr) if (attr)
{ {
int file_index = DW_UNSND (attr); int file_index = DW_UNSND (attr);
@@ -8317,6 +8338,14 @@ new_symbol (struct die_info *die, struct @@ -8517,6 +8537,14 @@ new_symbol (struct die_info *die, struct
add_symbol_to_list (sym, cu->list_in_scope); add_symbol_to_list (sym, cu->list_in_scope);
} }
break; break;
@ -638,7 +630,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
case DW_TAG_variable: case DW_TAG_variable:
/* Compilation with minimal debug info may result in variables /* Compilation with minimal debug info may result in variables
with missing type entries. Change the misleading `void' type with missing type entries. Change the misleading `void' type
@@ -8372,7 +8401,14 @@ new_symbol (struct die_info *die, struct @@ -8583,7 +8611,14 @@ new_symbol (struct die_info *die, struct
} }
break; break;
case DW_TAG_formal_parameter: case DW_TAG_formal_parameter:
@ -657,7 +649,7 @@ Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
Index: gdb-6.8.50.20090302/gdb/frame-unwind.c Index: gdb-6.8.50.20090302/gdb/frame-unwind.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/frame-unwind.c 2009-01-03 06:57:51.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/frame-unwind.c 2009-01-03 06:57:51.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/frame-unwind.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/frame-unwind.c 2009-05-09 21:27:23.000000000 +0200
@@ -21,6 +21,7 @@ @@ -21,6 +21,7 @@
#include "frame.h" #include "frame.h"
#include "frame-unwind.h" #include "frame-unwind.h"
@ -680,8 +672,8 @@ Index: gdb-6.8.50.20090302/gdb/frame-unwind.c
Index: gdb-6.8.50.20090302/gdb/frame.c Index: gdb-6.8.50.20090302/gdb/frame.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/frame.c 2009-04-13 22:19:48.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/frame.c 2009-05-09 21:27:11.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/frame.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/frame.c 2009-05-09 21:27:23.000000000 +0200
@@ -41,8 +41,14 @@ @@ -41,8 +41,14 @@
#include "objfiles.h" #include "objfiles.h"
#include "exceptions.h" #include "exceptions.h"
@ -1041,7 +1033,7 @@ Index: gdb-6.8.50.20090302/gdb/frame.c
Index: gdb-6.8.50.20090302/gdb/frame.h Index: gdb-6.8.50.20090302/gdb/frame.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/frame.h 2009-02-05 18:28:20.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/frame.h 2009-02-05 18:28:20.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/frame.h 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/frame.h 2009-05-09 21:27:23.000000000 +0200
@@ -34,6 +34,9 @@ @@ -34,6 +34,9 @@
frame_unwind_WHAT...(): Unwind THIS frame's WHAT from the NEXT frame_unwind_WHAT...(): Unwind THIS frame's WHAT from the NEXT
frame. frame.
@ -1105,8 +1097,8 @@ Index: gdb-6.8.50.20090302/gdb/frame.h
/* Assuming that a frame is `normal', return its base-address, or 0 if /* Assuming that a frame is `normal', return its base-address, or 0 if
Index: gdb-6.8.50.20090302/gdb/gdbthread.h Index: gdb-6.8.50.20090302/gdb/gdbthread.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/gdbthread.h 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/gdbthread.h 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/gdbthread.h 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/gdbthread.h 2009-05-09 21:27:23.000000000 +0200
@@ -83,6 +83,13 @@ struct thread_info @@ -83,6 +83,13 @@ struct thread_info
This is how we know when we step into a subroutine call, and how This is how we know when we step into a subroutine call, and how
to set the frame for the breakpoint used to step out. */ to set the frame for the breakpoint used to step out. */
@ -1123,8 +1115,8 @@ Index: gdb-6.8.50.20090302/gdb/gdbthread.h
Index: gdb-6.8.50.20090302/gdb/infcall.c Index: gdb-6.8.50.20090302/gdb/infcall.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/infcall.c 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/infcall.c 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/infcall.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/infcall.c 2009-05-09 21:27:23.000000000 +0200
@@ -898,15 +898,8 @@ The program being debugged exited while @@ -898,15 +898,8 @@ The program being debugged exited while
if (unwind_on_signal_p) if (unwind_on_signal_p)
@ -1145,8 +1137,8 @@ Index: gdb-6.8.50.20090302/gdb/infcall.c
long if it's a C++ name with arguments and stuff. */ long if it's a C++ name with arguments and stuff. */
Index: gdb-6.8.50.20090302/gdb/infcmd.c Index: gdb-6.8.50.20090302/gdb/infcmd.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/infcmd.c 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/infcmd.c 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/infcmd.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/infcmd.c 2009-05-09 21:27:23.000000000 +0200
@@ -52,6 +52,7 @@ @@ -52,6 +52,7 @@
#include "cli/cli-decode.h" #include "cli/cli-decode.h"
#include "gdbthread.h" #include "gdbthread.h"
@ -1250,8 +1242,8 @@ Index: gdb-6.8.50.20090302/gdb/infcmd.c
function = find_pc_function (get_frame_pc (get_selected_frame (NULL))); function = find_pc_function (get_frame_pc (get_selected_frame (NULL)));
Index: gdb-6.8.50.20090302/gdb/inferior.h Index: gdb-6.8.50.20090302/gdb/inferior.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/inferior.h 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/inferior.h 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/inferior.h 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/inferior.h 2009-05-09 21:27:23.000000000 +0200
@@ -259,6 +259,9 @@ extern void error_is_running (void); @@ -259,6 +259,9 @@ extern void error_is_running (void);
/* Calls error_is_running if the current thread is running. */ /* Calls error_is_running if the current thread is running. */
extern void ensure_not_running (void); extern void ensure_not_running (void);
@ -1264,8 +1256,8 @@ Index: gdb-6.8.50.20090302/gdb/inferior.h
extern void tty_command (char *, int); extern void tty_command (char *, int);
Index: gdb-6.8.50.20090302/gdb/infrun.c Index: gdb-6.8.50.20090302/gdb/infrun.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-04-13 22:19:49.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-05-09 21:27:14.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/infrun.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/infrun.c 2009-05-09 21:27:23.000000000 +0200
@@ -48,6 +48,7 @@ @@ -48,6 +48,7 @@
#include "gdb_assert.h" #include "gdb_assert.h"
#include "mi/mi-common.h" #include "mi/mi-common.h"
@ -1541,7 +1533,7 @@ Index: gdb-6.8.50.20090302/gdb/infrun.c
Index: gdb-6.8.50.20090302/gdb/inline-frame.c Index: gdb-6.8.50.20090302/gdb/inline-frame.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.20090302/gdb/inline-frame.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/inline-frame.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,382 @@ @@ -0,0 +1,382 @@
+/* Inline frame unwinder for GDB. +/* Inline frame unwinder for GDB.
+ +
@ -1928,7 +1920,7 @@ Index: gdb-6.8.50.20090302/gdb/inline-frame.c
Index: gdb-6.8.50.20090302/gdb/inline-frame.h Index: gdb-6.8.50.20090302/gdb/inline-frame.h
=================================================================== ===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000 --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.8.50.20090302/gdb/inline-frame.h 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/inline-frame.h 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
+/* Definitions for inline frame support. +/* Definitions for inline frame support.
+ +
@ -1994,8 +1986,8 @@ Index: gdb-6.8.50.20090302/gdb/inline-frame.h
+#endif /* !defined (INLINE_FRAME_H) */ +#endif /* !defined (INLINE_FRAME_H) */
Index: gdb-6.8.50.20090302/gdb/minsyms.c Index: gdb-6.8.50.20090302/gdb/minsyms.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/minsyms.c 2009-04-13 22:19:49.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/minsyms.c 2009-05-09 21:27:14.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/minsyms.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/minsyms.c 2009-05-09 21:27:23.000000000 +0200
@@ -795,7 +795,7 @@ prim_record_minimal_symbol_and_info (con @@ -795,7 +795,7 @@ prim_record_minimal_symbol_and_info (con
if (msym_bunch_index == BUNCH_SIZE) if (msym_bunch_index == BUNCH_SIZE)
@ -2008,7 +2000,7 @@ Index: gdb-6.8.50.20090302/gdb/minsyms.c
Index: gdb-6.8.50.20090302/gdb/s390-tdep.c Index: gdb-6.8.50.20090302/gdb/s390-tdep.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/s390-tdep.c 2009-02-22 02:02:19.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/s390-tdep.c 2009-02-22 02:02:19.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/s390-tdep.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/s390-tdep.c 2009-05-09 21:27:23.000000000 +0200
@@ -1182,6 +1182,7 @@ s390_prologue_frame_unwind_cache (struct @@ -1182,6 +1182,7 @@ s390_prologue_frame_unwind_cache (struct
CORE_ADDR prev_sp; CORE_ADDR prev_sp;
int frame_pointer; int frame_pointer;
@ -2044,8 +2036,8 @@ Index: gdb-6.8.50.20090302/gdb/s390-tdep.c
/* See the comment in s390_in_function_epilogue_p on why this is /* See the comment in s390_in_function_epilogue_p on why this is
Index: gdb-6.8.50.20090302/gdb/stack.c Index: gdb-6.8.50.20090302/gdb/stack.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/stack.c 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/stack.c 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/stack.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/stack.c 2009-05-09 21:27:23.000000000 +0200
@@ -45,6 +45,7 @@ @@ -45,6 +45,7 @@
#include "valprint.h" #include "valprint.h"
#include "gdbthread.h" #include "gdbthread.h"
@ -2194,9 +2186,9 @@ Index: gdb-6.8.50.20090302/gdb/stack.c
RETURN_VALUE to NULL, and QUERY_PREFIX to an informational RETURN_VALUE to NULL, and QUERY_PREFIX to an informational
Index: gdb-6.8.50.20090302/gdb/symtab.c Index: gdb-6.8.50.20090302/gdb/symtab.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/symtab.c 2009-04-13 22:19:49.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/symtab.c 2009-05-09 21:27:14.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/symtab.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/symtab.c 2009-05-09 21:28:06.000000000 +0200
@@ -1417,11 +1417,14 @@ lookup_symbol_aux_local (const char *nam @@ -1420,11 +1420,14 @@ lookup_symbol_aux_local (const char *nam
sym = lookup_symbol_aux_block (name, linkage_name, block_iterator, domain); sym = lookup_symbol_aux_block (name, linkage_name, block_iterator, domain);
if (sym != NULL) if (sym != NULL)
return sym; return sym;
@ -2212,7 +2204,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
return NULL; return NULL;
} }
@@ -2678,6 +2681,7 @@ find_function_start_sal (struct symbol * @@ -2681,6 +2684,7 @@ find_function_start_sal (struct symbol *
CORE_ADDR pc; CORE_ADDR pc;
struct symtab_and_line sal; struct symtab_and_line sal;
@ -2220,7 +2212,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
pc = BLOCK_START (block); pc = BLOCK_START (block);
fixup_symbol_section (sym, objfile); fixup_symbol_section (sym, objfile);
@@ -2716,6 +2720,25 @@ find_function_start_sal (struct symbol * @@ -2719,6 +2723,25 @@ find_function_start_sal (struct symbol *
sal.pc = pc; sal.pc = pc;
@ -2246,7 +2238,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
return sal; return sal;
} }
@@ -3738,6 +3761,24 @@ add_macro_name (const char *name, const @@ -3741,6 +3764,24 @@ add_macro_name (const char *name, const
datum->text, datum->word); datum->text, datum->word);
} }
@ -2271,7 +2263,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
char ** char **
default_make_symbol_completion_list (char *text, char *word) default_make_symbol_completion_list (char *text, char *word)
{ {
@@ -3750,9 +3791,9 @@ default_make_symbol_completion_list (cha @@ -3753,9 +3794,9 @@ default_make_symbol_completion_list (cha
struct partial_symtab *ps; struct partial_symtab *ps;
struct minimal_symbol *msymbol; struct minimal_symbol *msymbol;
struct objfile *objfile; struct objfile *objfile;
@ -2283,7 +2275,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
struct partial_symbol **psym; struct partial_symbol **psym;
/* The symbol we are completing on. Points in same buffer as text. */ /* The symbol we are completing on. Points in same buffer as text. */
char *sym_text; char *sym_text;
@@ -3862,41 +3903,43 @@ default_make_symbol_completion_list (cha @@ -3865,41 +3906,43 @@ default_make_symbol_completion_list (cha
} }
/* Search upwards from currently selected frame (so that we can /* Search upwards from currently selected frame (so that we can
@ -2358,7 +2350,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
/* Go through the symtabs and check the externs and statics for /* Go through the symtabs and check the externs and statics for
symbols which match. */ symbols which match. */
@@ -3915,9 +3958,6 @@ default_make_symbol_completion_list (cha @@ -3918,9 +3961,6 @@ default_make_symbol_completion_list (cha
{ {
QUIT; QUIT;
b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK); b = BLOCKVECTOR_BLOCK (BLOCKVECTOR (s), STATIC_BLOCK);
@ -2368,7 +2360,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
ALL_BLOCK_SYMBOLS (b, iter, sym) ALL_BLOCK_SYMBOLS (b, iter, sym)
{ {
COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text, word); COMPLETION_LIST_ADD_SYMBOL (sym, sym_text, sym_text_len, text, word);
@@ -4384,6 +4424,25 @@ skip_prologue_using_sal (CORE_ADDR func_ @@ -4387,6 +4427,25 @@ skip_prologue_using_sal (CORE_ADDR func_
line mark the prologue -> body transition. */ line mark the prologue -> body transition. */
if (sal.line >= prologue_sal.line) if (sal.line >= prologue_sal.line)
break; break;
@ -2396,9 +2388,9 @@ Index: gdb-6.8.50.20090302/gdb/symtab.c
the function looking for address ranges whose the function looking for address ranges whose
Index: gdb-6.8.50.20090302/gdb/symtab.h Index: gdb-6.8.50.20090302/gdb/symtab.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/symtab.h 2009-04-13 22:19:47.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/symtab.h 2009-05-09 21:27:09.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/symtab.h 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/symtab.h 2009-05-09 21:27:23.000000000 +0200
@@ -562,9 +562,18 @@ struct symbol @@ -565,9 +565,18 @@ struct symbol
unsigned is_argument : 1; unsigned is_argument : 1;
@ -2420,7 +2412,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.h
unsigned short line; unsigned short line;
@@ -595,6 +604,7 @@ struct symbol @@ -598,6 +607,7 @@ struct symbol
#define SYMBOL_DOMAIN(symbol) (symbol)->domain #define SYMBOL_DOMAIN(symbol) (symbol)->domain
#define SYMBOL_CLASS(symbol) (symbol)->aclass #define SYMBOL_CLASS(symbol) (symbol)->aclass
#define SYMBOL_IS_ARGUMENT(symbol) (symbol)->is_argument #define SYMBOL_IS_ARGUMENT(symbol) (symbol)->is_argument
@ -2431,7 +2423,7 @@ Index: gdb-6.8.50.20090302/gdb/symtab.h
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.base/break.exp 2009-01-19 20:05:01.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.base/break.exp 2009-01-19 20:05:01.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp 2009-05-09 21:27:23.000000000 +0200
@@ -880,6 +880,13 @@ gdb_expect { @@ -880,6 +880,13 @@ gdb_expect {
# marker4() is defined at line 46 when compiled with -DPROTOTYPES # marker4() is defined at line 46 when compiled with -DPROTOTYPES
pass "run until breakpoint set at small function, optimized file (line bp_location14)" pass "run until breakpoint set at small function, optimized file (line bp_location14)"
@ -2449,7 +2441,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.base/break.exp
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.cp/annota2.exp 2009-01-03 06:58:04.000000000 +0100 --- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.cp/annota2.exp 2009-01-03 06:58:04.000000000 +0100
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp 2009-05-09 21:27:23.000000000 +0200
@@ -119,10 +119,11 @@ gdb_expect { @@ -119,10 +119,11 @@ gdb_expect {
# continue until exit # continue until exit
# this will test: # this will test:
@ -2466,7 +2458,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.cp/annota2.exp
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.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.20090302/gdb/testsuite/gdb.opt/inline-bt.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc. +/* Copyright (C) 2008 Free Software Foundation, Inc.
+ +
@ -2518,7 +2510,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.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.20090302/gdb/testsuite/gdb.opt/inline-bt.exp 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
+# Copyright 2008 Free Software Foundation, Inc. +# Copyright 2008 Free Software Foundation, Inc.
+ +
@ -2586,7 +2578,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.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.20090302/gdb/testsuite/gdb.opt/inline-cmds.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,85 @@ @@ -0,0 +1,85 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc. +/* Copyright (C) 2008 Free Software Foundation, Inc.
+ +
@ -2676,7 +2668,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.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.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,279 @@ @@ -0,0 +1,279 @@
+# Copyright 2008 Free Software Foundation, Inc. +# Copyright 2008 Free Software Foundation, Inc.
+ +
@ -2960,7 +2952,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.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.20090302/gdb/testsuite/gdb.opt/inline-locals.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,52 @@ @@ -0,0 +1,52 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc. +/* Copyright (C) 2008 Free Software Foundation, Inc.
+ +
@ -3017,7 +3009,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.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.20090302/gdb/testsuite/gdb.opt/inline-locals.exp 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,118 @@ @@ -0,0 +1,118 @@
+# Copyright 2008 Free Software Foundation, Inc. +# Copyright 2008 Free Software Foundation, Inc.
+ +
@ -3140,7 +3132,7 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.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.20090302/gdb/testsuite/gdb.opt/inline-markers.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c 2009-05-09 21:27:23.000000000 +0200
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc. +/* Copyright (C) 2008 Free Software Foundation, Inc.
+ +
@ -3180,8 +3172,8 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c
+} +}
Index: gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp Index: gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/testsuite/lib/gdb.exp 2009-04-13 22:19:50.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/testsuite/lib/gdb.exp 2009-05-09 21:27:14.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp 2009-05-09 21:27:23.000000000 +0200
@@ -1474,6 +1474,37 @@ proc skip_hp_tests {} { @@ -1474,6 +1474,37 @@ proc skip_hp_tests {} {
return $skip_hp return $skip_hp
} }
@ -3222,8 +3214,8 @@ Index: gdb-6.8.50.20090302/gdb/testsuite/lib/gdb.exp
set hp_cc_compiler 0 set hp_cc_compiler 0
Index: gdb-6.8.50.20090302/gdb/valops.c Index: gdb-6.8.50.20090302/gdb/valops.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/valops.c 2009-04-13 22:19:48.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/valops.c 2009-05-09 21:27:10.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/valops.c 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/valops.c 2009-05-09 21:27:23.000000000 +0200
@@ -1072,7 +1072,7 @@ value_of_variable (struct symbol *var, s @@ -1072,7 +1072,7 @@ value_of_variable (struct symbol *var, s
frame = block_innermost_frame (b); frame = block_innermost_frame (b);
if (!frame) if (!frame)
@ -3235,8 +3227,8 @@ Index: gdb-6.8.50.20090302/gdb/valops.c
SYMBOL_PRINT_NAME (BLOCK_FUNCTION (b))); SYMBOL_PRINT_NAME (BLOCK_FUNCTION (b)));
Index: gdb-6.8.50.20090302/gdb/Makefile.in Index: gdb-6.8.50.20090302/gdb/Makefile.in
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/Makefile.in 2009-04-13 22:19:49.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/Makefile.in 2009-05-09 21:27:14.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/Makefile.in 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/Makefile.in 2009-05-09 21:27:23.000000000 +0200
@@ -667,6 +667,7 @@ SFILES = ada-exp.y ada-lang.c ada-typepr @@ -667,6 +667,7 @@ SFILES = ada-exp.y ada-lang.c ada-typepr
inf-loop.c \ inf-loop.c \
infcall.c \ infcall.c \
@ -3256,7 +3248,7 @@ Index: gdb-6.8.50.20090302/gdb/Makefile.in
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/Makefile.in Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/Makefile.in
=================================================================== ===================================================================
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/Makefile.in 2008-04-18 01:06:54.000000000 +0200 --- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/Makefile.in 2008-04-18 01:06:54.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/Makefile.in 2009-04-13 22:22:01.000000000 +0200 +++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/Makefile.in 2009-05-09 21:27:23.000000000 +0200
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
VPATH = @srcdir@ VPATH = @srcdir@
srcdir = @srcdir@ srcdir = @srcdir@

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,328 @@
Re: [patch] [4/5] Types reference counting [varobj-validation]
http://sourceware.org/ml/gdb-patches/2009-04/msg00610.html
gdb/
2009-04-22 Jan Kratochvil <jan.kratochvil@redhat.com>
Split varobj_invalidate into a two-phased operation.
* objfiles.c: Include varobj.h
(free_objfile): Call varobj_invalidate.
* parser-defs.h (exp_uses_objfile): New prototype.
* printcmd.c (display_uses_objfile): Move the EXP checking part to ...
* parse.c (exp_uses_objfile): ... a new function here.
* symfile.c (new_symfile_objfile): Call varobj_revalidate.
(reread_symbols): Call varobj_invalidate and varobj_revalidate.
(clear_symtab_users): No longer call varobj_invalidate.
* varobj.c: New includes objfiles.h and parser-defs.h.
(varobj_invalidate): New parameter `objfile', comment it.
New variable `var'. Invalidate any varobj related to `objfile'.
Remove unconditional invalidation of local varobjs. Move global
varobjs revalidation to ...
(varobj_revalidate): ... a new function.
* varobj.h (varobj_invalidate): Update the prototype.
(varobj_revalidate): New prototype.
[ Cut the printcmd.c simplification/change. ]
Index: gdb-6.8.50.20090302/gdb/objfiles.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/objfiles.c 2009-05-10 21:36:30.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/objfiles.c 2009-05-10 21:36:42.000000000 +0200
@@ -50,6 +50,7 @@
#include "addrmap.h"
#include "arch-utils.h"
#include "exec.h"
+#include "varobj.h"
/* Prototypes for local functions */
@@ -409,6 +410,7 @@ free_objfile (struct objfile *objfile)
/* Remove any references to this objfile in the global value
lists. */
preserve_values (objfile);
+ varobj_invalidate (objfile);
/* First do any symbol file specific actions required when we are
finished with a particular symbol file. Note that if the objfile
Index: gdb-6.8.50.20090302/gdb/parse.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/parse.c 2009-05-10 21:36:29.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/parse.c 2009-05-10 21:36:42.000000000 +0200
@@ -1373,6 +1373,45 @@ parser_fprintf (FILE *x, const char *y,
va_end (args);
}
+/* Return 1 if EXP uses OBJFILE (and will become dangling when OBJFILE
+ is unloaded), otherwise return 0. */
+
+int
+exp_uses_objfile (struct expression *exp, struct objfile *objfile)
+{
+ int endpos;
+ const union exp_element *const elts = exp->elts;
+
+ for (endpos = exp->nelts; endpos > 0; )
+ {
+ int i, args, oplen = 0;
+
+ exp->language_defn->la_exp_desc->operator_length (exp, endpos,
+ &oplen, &args);
+ gdb_assert (oplen > 0);
+
+ i = endpos - oplen;
+ if (elts[i].opcode == OP_VAR_VALUE)
+ {
+ const struct block *const block = elts[i + 1].block;
+ const struct symbol *const symbol = elts[i + 2].symbol;
+ const struct obj_section *const section =
+ SYMBOL_OBJ_SECTION (symbol);
+
+ /* Check objfile where is placed the code touching the variable. */
+ if (matching_objfiles (block_objfile (block), objfile))
+ return 1;
+
+ /* Check objfile where the variable itself is placed. */
+ if (section && section->objfile == objfile)
+ return 1;
+ }
+ endpos -= oplen;
+ }
+
+ return 0;
+}
+
void
_initialize_parse (void)
{
Index: gdb-6.8.50.20090302/gdb/parser-defs.h
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/parser-defs.h 2009-05-10 21:36:27.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/parser-defs.h 2009-05-10 21:36:42.000000000 +0200
@@ -299,4 +299,6 @@ extern void print_subexp_standard (struc
extern void parser_fprintf (FILE *, const char *, ...) ATTR_FORMAT (printf, 2 ,3);
+extern int exp_uses_objfile (struct expression *exp, struct objfile *objfile);
+
#endif /* PARSER_DEFS_H */
Index: gdb-6.8.50.20090302/gdb/symfile.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-05-10 21:36:29.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/symfile.c 2009-05-10 21:37:51.000000000 +0200
@@ -931,6 +931,8 @@ new_symfile_objfile (struct objfile *obj
/* We're done reading the symbol file; finish off complaints. */
clear_complaints (&symfile_complaints, 0, verbo);
+
+ varobj_revalidate ();
}
/* A helper function which returns true if OBJFILE has any debug
@@ -3261,6 +3263,7 @@ reread_symbols (void)
/* Remove any references to this objfile in the global
value lists. */
preserve_values (objfile);
+ varobj_invalidate (objfile);
/* Nuke all the state that we will re-read. Much of the following
code which sets things to NULL really is necessary to tell
@@ -3359,6 +3362,7 @@ reread_symbols (void)
frameless. */
reinit_frame_cache ();
+ varobj_revalidate ();
/* Discard cleanups as symbol reading was successful. */
discard_cleanups (old_cleanups);
@@ -3739,10 +3743,6 @@ clear_symtab_users (void)
between expressions and which ought to be reset each time. */
expression_context_block = NULL;
innermost_block = NULL;
-
- /* Varobj may refer to old symbols, perform a cleanup. */
- varobj_invalidate ();
-
}
static void
Index: gdb-6.8.50.20090302/gdb/varobj.c
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/varobj.c 2009-05-10 21:36:27.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/varobj.c 2009-05-10 21:40:55.000000000 +0200
@@ -26,6 +26,8 @@
#include "gdbcmd.h"
#include "block.h"
#include "valprint.h"
+#include "objfiles.h"
+#include "parser-defs.h"
#include "gdb_assert.h"
#include "gdb_string.h"
@@ -3272,48 +3274,117 @@ When non-zero, varobj debugging is enabl
&setlist, &showlist);
}
-/* Invalidate the varobjs that are tied to locals and re-create the ones that
- are defined on globals.
+/* Invalidate the varobjs that are tied to the specified OBJFILE. Call this
+ function before you start removing OBJFILE.
+
+ Call varobj_revalidate after the OBJFILEs updates get finished.
+
Invalidated varobjs will be always printed in_scope="invalid". */
+
void
-varobj_invalidate (void)
+varobj_invalidate (struct objfile *objfile)
{
struct varobj **all_rootvarobj;
struct varobj **varp;
if (varobj_list (&all_rootvarobj) > 0)
- {
- varp = all_rootvarobj;
- while (*varp != NULL)
- {
- /* Floating varobjs are reparsed on each stop, so we don't care if
- the presently parsed expression refers to something that's gone. */
- if ((*varp)->root->floating)
- continue;
-
- /* global var must be re-evaluated. */
- if ((*varp)->root->valid_block == NULL)
- {
- struct varobj *tmp_var;
-
- /* Try to create a varobj with same expression. If we succeed replace
- the old varobj, otherwise invalidate it. */
- tmp_var = varobj_create (NULL, (*varp)->name, (CORE_ADDR) 0, USE_CURRENT_FRAME);
- if (tmp_var != NULL)
- {
- tmp_var->obj_name = xstrdup ((*varp)->obj_name);
- varobj_delete (*varp, NULL, 0);
- install_variable (tmp_var);
- }
- else
- (*varp)->root->is_valid = 0;
- }
- else /* locals must be invalidated. */
- (*varp)->root->is_valid = 0;
+ {
+ varp = all_rootvarobj;
+ while (*varp != NULL)
+ {
+ struct varobj *var = *varp;
- varp++;
- }
- }
+ /* Floating varobjs are reparsed on each stop, so we don't care if
+ the presently parsed expression refers to something that's gone.
+ */
+ if (var->root->floating)
+ continue;
+
+ if (var->root->is_valid
+ && matching_objfiles (block_objfile (var->root->valid_block),
+ objfile))
+ var->root->is_valid = 0;
+
+ if (var->root->is_valid
+ && exp_uses_objfile (var->root->exp, objfile))
+ {
+ var->root->is_valid = 0;
+
+ /* No one touches EXP for !IS_VALID varobj. */
+ xfree (var->root->exp);
+ var->root->exp = NULL;
+ }
+
+ if (var->type && TYPE_OBJFILE (var->type) == objfile)
+ {
+ if (!var->root->valid_block)
+ var->root->is_valid = 0;
+ else
+ gdb_assert (!var->root->is_valid);
+
+ var->type = NULL;
+ }
+
+ if (var->value
+ && TYPE_OBJFILE (value_type (var->value)) == objfile)
+ {
+ if (!var->root->valid_block)
+ var->root->is_valid = 0;
+ else
+ gdb_assert (!var->root->is_valid);
+
+ value_free (var->value);
+ var->value = NULL;
+ }
+
+ varp++;
+ }
+ }
+ xfree (all_rootvarobj);
+}
+
+/* Recreate any global varobjs possibly previously invalidated. If the
+ expressions are no longer evaluatable set/keep the varobj invalid. */
+
+void
+varobj_revalidate (void)
+{
+ struct varobj **all_rootvarobj;
+ struct varobj **varp;
+
+ if (varobj_list (&all_rootvarobj) > 0)
+ {
+ varp = all_rootvarobj;
+ while (*varp != NULL)
+ {
+ struct varobj *var = *varp;
+
+ /* Floating varobjs are reparsed on each stop, so we don't care if
+ the presently parsed expression refers to something that's gone.
+ */
+ if (var->root->floating)
+ continue;
+
+ /* global var must be re-evaluated. */
+ if (var->root->valid_block == NULL)
+ {
+ struct varobj *tmp_var;
+
+ /* Try to create a varobj with same expression. If we succeed
+ replace the old varobj, otherwise invalidate it. */
+ tmp_var = varobj_create (NULL, var->name, 0, USE_CURRENT_FRAME);
+ if (tmp_var != NULL)
+ {
+ tmp_var->obj_name = xstrdup (var->obj_name);
+ varobj_delete (var, NULL, 0);
+ install_variable (tmp_var);
+ }
+ else
+ var->root->is_valid = 0;
+ }
+
+ varp++;
+ }
+ }
xfree (all_rootvarobj);
- return;
}
Index: gdb-6.8.50.20090302/gdb/varobj.h
===================================================================
--- gdb-6.8.50.20090302.orig/gdb/varobj.h 2009-05-10 21:36:27.000000000 +0200
+++ gdb-6.8.50.20090302/gdb/varobj.h 2009-05-10 21:36:42.000000000 +0200
@@ -148,7 +148,9 @@ extern int varobj_list (struct varobj **
extern VEC(varobj_update_result) *varobj_update (struct varobj **varp,
int explicit);
-extern void varobj_invalidate (void);
+extern void varobj_invalidate (struct objfile *objfile);
+
+extern void varobj_revalidate (void);
extern int varobj_editable_p (struct varobj *var);

View File

@ -0,0 +1,86 @@
Re: [patch] Make a function for block->objfile lookups
http://sourceware.org/ml/gdb-patches/2009-04/msg00609.html
gdb/
2009-04-22 Jan Kratochvil <jan.kratochvil@redhat.com>
* block.c (block_objfile): New function.
* block.h (block_objfile): New prototype.
* objfiles.c (matching_objfiles): New function.
* objfiles.h (matching_objfiles): New prototype.
* printcmd.c: Remove include solib.h.
(display_uses_solib_p): Rename to ...
(display_uses_objfile): ... a new function name. Change the SOLIB
parameter to OBJFILE parameter. Use now a matching_objfiles call.
(clear_dangling_display_expressions): Update the caller.
[ Cut the printcmd.c simplification/change. ]
--- ./gdb/block.c 3 Jan 2009 05:57:50 -0000 1.18
+++ ./gdb/block.c 22 Apr 2009 19:51:40 -0000
@@ -309,3 +309,21 @@ allocate_block (struct obstack *obstack)
return bl;
}
+
+/* Return OBJFILE in which BLOCK is located or NULL if we cannot find it for
+ whatever reason. */
+
+struct objfile *
+block_objfile (const struct block *block)
+{
+ struct symbol *func;
+
+ if (block == NULL)
+ return NULL;
+
+ func = block_linkage_function (block);
+ if (func == NULL)
+ return NULL;
+
+ return SYMBOL_SYMTAB (func)->objfile;
+}
--- ./gdb/block.h 3 Jan 2009 05:57:50 -0000 1.19
+++ ./gdb/block.h 22 Apr 2009 19:51:40 -0000
@@ -164,4 +164,6 @@ extern const struct block *block_global_
extern struct block *allocate_block (struct obstack *obstack);
+extern struct objfile *block_objfile (const struct block *block);
+
#endif /* BLOCK_H */
--- ./gdb/objfiles.c 11 Mar 2009 20:26:02 -0000 1.82
+++ ./gdb/objfiles.c 22 Apr 2009 19:51:40 -0000
@@ -891,3 +891,21 @@ objfile_data (struct objfile *objfile, c
gdb_assert (data->index < objfile->num_data);
return objfile->data[data->index];
}
+
+/* Return non-zero if A and B point to the same OBJFILE, ignoring any binary
+ vs. debuginfo variants of the pointers. If either A or B is NULL return
+ zero as not a match. */
+
+int
+matching_objfiles (struct objfile *a, struct objfile *b)
+{
+ if (a == NULL || b == NULL)
+ return 0;
+
+ if (a->separate_debug_objfile_backlink)
+ a = a->separate_debug_objfile_backlink;
+ if (b->separate_debug_objfile_backlink)
+ b = b->separate_debug_objfile_backlink;
+
+ return a == b;
+}
--- ./gdb/objfiles.h 15 Jan 2009 16:35:22 -0000 1.59
+++ ./gdb/objfiles.h 22 Apr 2009 19:51:40 -0000
@@ -497,6 +497,8 @@ extern struct obj_section *find_pc_secti
extern int in_plt_section (CORE_ADDR, char *);
+extern int matching_objfiles (struct objfile *a, struct objfile *b);
+
/* Keep a registry of per-objfile data-pointers required by other GDB
modules. */

View File

@ -1,7 +1,21 @@
-------------------------------------------------------------------
Wed May 27 18:07:26 CEST 2009 - rguenther@suse.de
- Merge FC11 update 23.
- Fix crashes due to (missing) varobj revalidation, for VLA (for brc#377541).
- Archer update to the snapshot: e2812eadef2c15baeccd003e11fdf3fbc0b90dc2
- Archer backport: 58dcda94ac5d6398f47382505e9d3d9d866d79bf
+ f3de7bbd655337fe6705aeaafcc970deff3dd5d5
- Implement Fortran modules namespaces (brc#466118).
------------------------------------------------------------------- -------------------------------------------------------------------
Mon May 18 10:42:26 CEST 2009 - rguenther@suse.de Mon May 18 10:42:26 CEST 2009 - rguenther@suse.de
- Add patch to fix handling of string DW_AT_const_values. [bnc#329420] - Add patch to fix handling of string DW_AT_const_values. [bnc#329420]
- Verified
* Fix printing of 'inf'. [bnc#466266]
* Stepping through templates. [bnc#414230]
* gcore script. [fate#303462]
------------------------------------------------------------------- -------------------------------------------------------------------
Thu May 14 15:26:42 CEST 2009 - rguenther@suse.de Thu May 14 15:26:42 CEST 2009 - rguenther@suse.de

View File

@ -23,7 +23,7 @@ Name: gdb
# 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: 6.8.50.20090302 Version: 6.8.50.20090302
Release: 4 Release: 5
# 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.
License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v2 or later; GPL v3 or later License: GNU Free Documentation License, Version 1.2 (GFDL 1.2); GPL v2 or later; GPL v3 or later
@ -276,6 +276,9 @@ Patch352: gdb-6.8-bz457187-largefile.patch
Patch357: gdb-c_get_string-xfree.patch Patch357: gdb-c_get_string-xfree.patch
# Fix crash in the charset support. # Fix crash in the charset support.
Patch359: gdb-charset-crash.patch Patch359: gdb-charset-crash.patch
# Fix crashes due to (missing) varobj revalidation, for VLA (for BZ 377541).
Patch369: gdb-varobj-revalidate-prep.patch
Patch370: gdb-varobj-revalidate-core.patch
# Fix readline 5.1 warnings # Fix readline 5.1 warnings
Patch1000: readline-5.1-random.patch Patch1000: readline-5.1-random.patch
Patch1001: gdb-readline6.patch Patch1001: gdb-readline6.patch
@ -499,6 +502,8 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch352 -p1 %patch352 -p1
%patch357 -p1 %patch357 -p1
%patch359 -p1 %patch359 -p1
%patch369 -p1
%patch370 -p1
%patch124 -p1 %patch124 -p1
%patch1000 %patch1000
%if %{suse_version} > 1110 %if %{suse_version} > 1110
@ -757,8 +762,19 @@ fi
%endif %endif
%changelog %changelog
* Wed May 27 2009 rguenther@suse.de
- Merge FC11 update 23.
- Fix crashes due to (missing) varobj revalidation, for VLA (for brc#377541).
- Archer update to the snapshot: e2812eadef2c15baeccd003e11fdf3fbc0b90dc2
- Archer backport: 58dcda94ac5d6398f47382505e9d3d9d866d79bf
+ f3de7bbd655337fe6705aeaafcc970deff3dd5d5
- Implement Fortran modules namespaces (brc#466118).
* Mon May 18 2009 rguenther@suse.de * Mon May 18 2009 rguenther@suse.de
- Add patch to fix handling of string DW_AT_const_values. [bnc#329420] - Add patch to fix handling of string DW_AT_const_values. [bnc#329420]
- Verified
* Fix printing of 'inf'. [bnc#466266]
* Stepping through templates. [bnc#414230]
* gcore script. [fate#303462]
* Thu May 14 2009 rguenther@suse.de * Thu May 14 2009 rguenther@suse.de
- Change reported version to mention SUSE instead of Fedora. - Change reported version to mention SUSE instead of Fedora.
- Fix handling of bogus global namespace DIEs from GCC 4.1. [bnc#329420] - Fix handling of bogus global namespace DIEs from GCC 4.1. [bnc#329420]