- Archer update to the snapshot: 000db8b7bfef8581ef099ccca8689cfddfea1be8

- Archer backport: b8d3bea36b137effc929e02c4dadf73716cb330b
- Ignore explicit die representing global scope '::' (gcc 4.1 bug).
- Archer backport: c2d5c4a39b10994d86d8f2f90dfed769e8f216f3
- Fix parsing DW_AT_const_value using DW_FORM_string
- Archer backport: 8d9ab68fc0955c9de6320bec2821a21e3244600d
db41e11ae0a3aec7120ad6ce86450d838af74dd6
- Fix Fortran modules/namespaces parsing (but no change was visible in
    F11).
- Archer backport: 000db8b7bfef8581ef099ccca8689cfddfea1be8
- Fix "some Python error when displaying some C++ objects" (BZ 504356).
- testsuite: Support new rpmbuild option: --with parallel
- testsuite: gdb-orphanripper.c: Fix uninitialized `termios.c_line'.
- Fix crashes due to (missing) varobj revalidation, for VLA (for BZ
    377541).
- Archer backport: 58dcda94ac5d6398f47382505e9d3d9d866d79bf
f3de7bbd655337fe6705aeaafcc970deff3dd5d5
- Implement Fortran modules namespaces (BZ 466118).
- Fix crash in the charset support.
This commit is contained in:
Jan Kratochvil 2009-06-10 13:05:57 +00:00
parent f4df2f361a
commit 6fcb74ef6e
9 changed files with 1573 additions and 346 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

@ -90,6 +90,7 @@ static int spawn (char **argv)
termios.c_oflag = 0; termios.c_oflag = 0;
termios.c_cflag = CS8 | CREAD | CLOCAL | HUPCL | B9600; termios.c_cflag = CS8 | CREAD | CLOCAL | HUPCL | B9600;
termios.c_lflag = IEXTEN | NOFLSH; termios.c_lflag = IEXTEN | NOFLSH;
termios.c_line = 0;
memset (termios.c_cc, _POSIX_VDISABLE, sizeof (termios.c_cc)); memset (termios.c_cc, _POSIX_VDISABLE, sizeof (termios.c_cc));
termios.c_cc[VTIME] = 0; termios.c_cc[VTIME] = 0;
termios.c_cc[VMIN ] = 1; termios.c_cc[VMIN ] = 1;

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,5 +1,6 @@
# rpmbuild parameters: # rpmbuild parameters:
# --with testsuite: Run the testsuite (biarch if possible). Default is without. # --with testsuite: Run the testsuite (biarch if possible). Default is without.
# --with parallel: Run the testsuite in maximum parallel mode.
# --with debug: Build without optimizations and without splitting the debuginfo. # --with debug: Build without optimizations and without splitting the debuginfo.
# --with upstream: No Fedora specific patches get applied. # --with upstream: No Fedora specific patches get applied.
# --without python: No python support. # --without python: No python support.
@ -14,7 +15,7 @@ Version: 6.8.50.20090302
# The release always contains a leading reserved number, start it at 1. # The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 27%{?_with_upstream:.upstream}%{?dist} Release: 28%{?_with_upstream:.upstream}%{?dist}
License: GPLv3+ License: GPLv3+
Group: Development/Debuggers Group: Development/Debuggers
@ -382,6 +383,10 @@ 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
BuildRequires: ncurses-devel texinfo gettext flex bison expat-devel BuildRequires: ncurses-devel texinfo gettext flex bison expat-devel
Requires: readline Requires: readline
BuildRequires: readline-devel BuildRequires: readline-devel
@ -580,6 +585,8 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch357 -p1 %patch357 -p1
%patch359 -p1 %patch359 -p1
%patch360 -p1 %patch360 -p1
%patch369 -p1
%patch370 -p1
%patch124 -p1 %patch124 -p1
find -name "*.orig" | xargs rm -f find -name "*.orig" | xargs rm -f
@ -741,10 +748,20 @@ gcc -o ./orphanripper %{SOURCE2} -Wall -lutil
CHECK="$(echo $CHECK|sed 's#check//unix/[^ ]*#& &/-fPIE/-pie#g')" CHECK="$(echo $CHECK|sed 's#check//unix/[^ ]*#& &/-fPIE/-pie#g')"
%endif # 0%{!?_with_upstream:1} %endif # 0%{!?_with_upstream:1}
%if 0%{?_with_parallel:1}
for CURRENT in $CHECK
do
./orphanripper make -k $CURRENT &
done
echo >&2 "Waiting for parallel testsuite runs to finish..."
wait
echo >&2 "Parallel testsuite runs finished."
%else # 0%{?_with_parallel:1}
for CURRENT in $CHECK for CURRENT in $CHECK
do do
./orphanripper make -k $CURRENT || : ./orphanripper make -k $CURRENT || :
done done
%endif # 0%{?_with_parallel:1}
) )
for t in sum log for t in sum log
do do
@ -870,6 +887,25 @@ fi
%endif %endif
%changelog %changelog
* Wed Jun 10 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-28
- Archer update to the snapshot: 000db8b7bfef8581ef099ccca8689cfddfea1be8
- Archer backport: b8d3bea36b137effc929e02c4dadf73716cb330b
- Ignore explicit die representing global scope '::' (gcc 4.1 bug).
- Archer backport: c2d5c4a39b10994d86d8f2f90dfed769e8f216f3
- Fix parsing DW_AT_const_value using DW_FORM_string
- Archer backport: 8d9ab68fc0955c9de6320bec2821a21e3244600d
+ db41e11ae0a3aec7120ad6ce86450d838af74dd6
- Fix Fortran modules/namespaces parsing (but no change was visible in F11).
- Archer backport: 000db8b7bfef8581ef099ccca8689cfddfea1be8
- Fix "some Python error when displaying some C++ objects" (BZ 504356).
- testsuite: Support new rpmbuild option: --with parallel
- testsuite: gdb-orphanripper.c: Fix uninitialized `termios.c_line'.
- Fix crashes due to (missing) varobj revalidation, for VLA (for BZ 377541).
- Archer backport: 58dcda94ac5d6398f47382505e9d3d9d866d79bf
+ f3de7bbd655337fe6705aeaafcc970deff3dd5d5
- Implement Fortran modules namespaces (BZ 466118).
- Fix crash in the charset support.
* Thu Apr 30 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-27 * Thu Apr 30 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-27
- Fix race in the ia64 testcase `gdb-6.3-rh-testlibunwind-20041202.patch'. - Fix race in the ia64 testcase `gdb-6.3-rh-testlibunwind-20041202.patch'.