- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090810

- archer-jankratochvil-fedora12 commit:
    93ec16e6f5000dd64d433d86674e820ed0f35b72
This commit is contained in:
Jan Kratochvil 2009-08-10 13:22:51 +00:00
parent 657c7f1700
commit 273e7e98b2
6 changed files with 2055 additions and 1009 deletions

View File

@ -1 +1 @@
gdb-6.8.50.20090803.tar.bz2 gdb-6.8.50.20090810.tar.bz2

View File

@ -26,10 +26,10 @@
Fix scan_dyntag() for binaries provided by valgrind (BZ 460319). Fix scan_dyntag() for binaries provided by valgrind (BZ 460319).
Index: gdb-6.8.50.20090803/gdb/amd64-tdep.c Index: gdb-6.8.50.20090809/gdb/amd64-tdep.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/amd64-tdep.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/amd64-tdep.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/amd64-tdep.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/amd64-tdep.c 2009-08-10 14:59:58.000000000 +0200
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
#include "regcache.h" #include "regcache.h"
#include "regset.h" #include "regset.h"
@ -138,10 +138,10 @@ Index: gdb-6.8.50.20090803/gdb/amd64-tdep.c
return pc; return pc;
} }
Index: gdb-6.8.50.20090803/gdb/auxv.c Index: gdb-6.8.50.20090809/gdb/auxv.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/auxv.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/auxv.c 2009-07-02 19:25:52.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/auxv.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/auxv.c 2009-08-10 14:59:58.000000000 +0200
@@ -78,7 +78,7 @@ procfs_xfer_auxv (struct target_ops *ops @@ -78,7 +78,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
@ -230,10 +230,10 @@ Index: gdb-6.8.50.20090803/gdb/auxv.c
break; break;
} }
Index: gdb-6.8.50.20090803/gdb/auxv.h Index: gdb-6.8.50.20090809/gdb/auxv.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/auxv.h 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/auxv.h 2009-06-07 21:07:08.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/auxv.h 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/auxv.h 2009-08-10 14:59:58.000000000 +0200
@@ -31,14 +31,14 @@ @@ -31,14 +31,14 @@
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,
@ -251,10 +251,10 @@ Index: gdb-6.8.50.20090803/gdb/auxv.h
/* Print the contents of the target's AUXV on the specified file. */ /* Print the contents of the target's AUXV on the specified file. */
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.20090803/gdb/dwarf2read.c Index: gdb-6.8.50.20090809/gdb/dwarf2read.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/dwarf2read.c 2009-08-03 21:39:39.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/dwarf2read.c 2009-08-10 14:59:28.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/dwarf2read.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/dwarf2read.c 2009-08-10 14:59:58.000000000 +0200
@@ -1659,7 +1659,7 @@ dwarf2_build_psymtabs (struct objfile *o @@ -1659,7 +1659,7 @@ dwarf2_build_psymtabs (struct objfile *o
dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame); dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame);
dwarf2_read_section (objfile, &dwarf2_per_objfile->frame); dwarf2_read_section (objfile, &dwarf2_per_objfile->frame);
@ -264,10 +264,10 @@ Index: gdb-6.8.50.20090803/gdb/dwarf2read.c
|| (objfile->global_psymbols.size == 0 || (objfile->global_psymbols.size == 0
&& objfile->static_psymbols.size == 0)) && objfile->static_psymbols.size == 0))
{ {
Index: gdb-6.8.50.20090803/gdb/elfread.c Index: gdb-6.8.50.20090809/gdb/elfread.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/elfread.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/elfread.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/elfread.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/elfread.c 2009-08-10 14:59:58.000000000 +0200
@@ -681,7 +681,7 @@ elf_symfile_read (struct objfile *objfil @@ -681,7 +681,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
@ -277,10 +277,10 @@ Index: gdb-6.8.50.20090803/gdb/elfread.c
{ {
init_psymbol_list (objfile, 0); init_psymbol_list (objfile, 0);
mainline = 0; mainline = 0;
Index: gdb-6.8.50.20090803/gdb/infrun.c Index: gdb-6.8.50.20090809/gdb/infrun.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/infrun.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/infrun.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/infrun.c 2009-08-04 06:04:25.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/infrun.c 2009-08-10 14:59:58.000000000 +0200
@@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME ( @@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
#endif #endif
target_terminal_inferior (); target_terminal_inferior ();
@ -292,10 +292,10 @@ Index: gdb-6.8.50.20090803/gdb/infrun.c
/* If requested, stop when the dynamic linker notifies /* If requested, stop when the dynamic linker notifies
gdb of events. This allows the user to get control gdb of events. This allows the user to get control
and place breakpoints in initializer routines for and place breakpoints in initializer routines for
Index: gdb-6.8.50.20090803/gdb/objfiles.c Index: gdb-6.8.50.20090809/gdb/objfiles.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/objfiles.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/objfiles.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/objfiles.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/objfiles.c 2009-08-10 14:59:58.000000000 +0200
@@ -52,6 +52,9 @@ @@ -52,6 +52,9 @@
#include "exec.h" #include "exec.h"
#include "observer.h" #include "observer.h"
@ -324,7 +324,7 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.c
if (symfile_objfile == NULL) if (symfile_objfile == NULL)
return 0; return 0;
@@ -475,6 +486,9 @@ free_objfile (struct objfile *objfile) @@ -465,6 +476,9 @@ free_objfile (struct objfile *objfile)
if (objfile == symfile_objfile) if (objfile == symfile_objfile)
symfile_objfile = NULL; symfile_objfile = NULL;
@ -334,10 +334,10 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.c
/* Before the symbol table code was redone to make it easier to /* Before the symbol table code was redone to make it easier to
selectively load and remove information particular to a specific selectively load and remove information particular to a specific
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.20090803/gdb/solib-svr4.c Index: gdb-6.8.50.20090809/gdb/solib-svr4.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/solib-svr4.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/solib-svr4.c 2009-08-10 14:56:11.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/solib-svr4.c 2009-08-03 21:41:49.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/solib-svr4.c 2009-08-10 14:59:58.000000000 +0200
@@ -47,6 +47,7 @@ @@ -47,6 +47,7 @@
#include "exec.h" #include "exec.h"
#include "auxv.h" #include "auxv.h"
@ -999,10 +999,10 @@ Index: gdb-6.8.50.20090803/gdb/solib-svr4.c
+ add_info ("linkmap", info_linkmap_command, + add_info ("linkmap", info_linkmap_command,
+ "Display the inferior's linkmap."); + "Display the inferior's linkmap.");
} }
Index: gdb-6.8.50.20090803/gdb/solib.c Index: gdb-6.8.50.20090809/gdb/solib.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/solib.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/solib.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/solib.c 2009-08-04 05:57:36.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/solib.c 2009-08-10 15:07:13.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 */
@ -1021,35 +1021,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
/* /*
GLOBAL FUNCTION GLOBAL FUNCTION
@@ -428,10 +432,23 @@ free_so (struct so_list *so) @@ -449,14 +453,38 @@ symbol_add_stub (struct so_list *so, int
if (so->abfd)
{
- bfd_filename = bfd_get_filename (so->abfd);
- if (! bfd_close (so->abfd))
- warning (_("cannot close \"%s\": %s"),
- bfd_filename, bfd_errmsg (bfd_get_error ()));
+ struct objfile *objfile;
+
+ ALL_OBJFILES (objfile)
+ if (objfile->obfd == so->abfd)
+ {
+ gdb_assert (objfile->flags & OBJF_KEEPBFD);
+ objfile->flags &= ~OBJF_KEEPBFD;
+ break;
+ }
+
+ if (!objfile)
+ {
+ bfd_filename = bfd_get_filename (so->abfd);
+ if (! bfd_close (so->abfd))
+ warning (_("cannot close \"%s\": %s"),
+ bfd_filename, bfd_errmsg (bfd_get_error ()));
+ }
}
if (bfd_filename)
@@ -458,15 +475,40 @@ symbol_add_stub (struct so_list *so, int
/* Have we already loaded this shared object? */ /* Have we already loaded this shared object? */
ALL_OBJFILES (so->objfile) ALL_OBJFILES (so->objfile)
{ {
@ -1075,25 +1047,22 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
sap = build_section_addr_info_from_section_table (so->sections, sap = build_section_addr_info_from_section_table (so->sections,
so->sections_end); so->sections_end);
- so->objfile = symbol_file_add_from_bfd (so->abfd, flags, - so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
- sap, OBJF_SHARED | OBJF_KEEPBFD);
+ if (so->main) + if (so->main)
+ { + {
+ if (debug_solib) + if (debug_solib)
+ fprintf_unfiltered (gdb_stdlog, + fprintf_unfiltered (gdb_stdlog,
+ "symbol_add_stub: adding symbols for main\n"); + "symbol_add_stub: adding symbols for main\n");
+ so->objfile = symbol_file_add_from_bfd (so->abfd, (flags & ~SYMFILE_VERBOSE) | SYMFILE_MAINLINE, + so->objfile = symbol_file_add_from_bfd (so->abfd, (flags & ~SYMFILE_VERBOSE) | SYMFILE_MAINLINE, sap, 0);
+ sap, OBJF_KEEPBFD);
+ so->main_relocated = 1; + so->main_relocated = 1;
+ } + }
+ else + else
+ so->objfile = symbol_file_add_from_bfd (so->abfd, flags, + so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
+ sap, OBJF_SHARED | OBJF_KEEPBFD);
+ +
free_section_addr_info (sap); p_refcount = xmalloc (sizeof (*p_refcount));
*p_refcount = 2; /* Both solib and objfile refer to this abfd. */
return; so->abfd->usrdata = p_refcount;
@@ -606,6 +648,10 @@ update_solib_list (int from_tty, struct @@ -600,6 +628,10 @@ update_solib_list (int from_tty, struct
} }
else else
{ {
@ -1104,7 +1073,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
if (! strcmp (gdb->so_original_name, i->so_original_name)) if (! strcmp (gdb->so_original_name, i->so_original_name))
break; break;
} }
@@ -660,18 +706,7 @@ update_solib_list (int from_tty, struct @@ -654,18 +686,7 @@ update_solib_list (int from_tty, struct
/* Fill in the rest of each of the `struct so_list' nodes. */ /* Fill in the rest of each of the `struct so_list' nodes. */
for (i = inferior; i; i = i->next) for (i = inferior; i; i = i->next)
{ {
@ -1124,7 +1093,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
/* Notify any observer that the shared object has been /* Notify any observer that the shared object has been
loaded now that we've added it to GDB's tables. */ loaded now that we've added it to GDB's tables. */
@@ -781,6 +816,32 @@ solib_add (char *pattern, int from_tty, @@ -775,6 +796,32 @@ solib_add (char *pattern, int from_tty,
} }
} }
@ -1157,7 +1126,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
/* /*
@@ -1134,4 +1195,12 @@ This takes precedence over the environme @@ -1128,4 +1175,12 @@ This takes precedence over the environme
reload_shared_libraries, reload_shared_libraries,
show_solib_search_path, show_solib_search_path,
&setlist, &showlist); &setlist, &showlist);
@ -1170,10 +1139,10 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
+ NULL, NULL, + NULL, NULL,
+ &setdebuglist, &showdebuglist); + &setdebuglist, &showdebuglist);
} }
Index: gdb-6.8.50.20090803/gdb/solist.h Index: gdb-6.8.50.20090809/gdb/solist.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/solist.h 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/solist.h 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/solist.h 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/solist.h 2009-08-10 14:59:58.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? */
@ -1194,10 +1163,10 @@ Index: gdb-6.8.50.20090803/gdb/solist.h
+extern int debug_solib; +extern int debug_solib;
+ +
#endif #endif
Index: gdb-6.8.50.20090803/gdb/symfile-mem.c Index: gdb-6.8.50.20090809/gdb/symfile-mem.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/symfile-mem.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/symfile-mem.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/symfile-mem.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/symfile-mem.c 2009-08-10 14:59:58.000000000 +0200
@@ -115,7 +115,7 @@ symbol_file_add_from_memory (struct bfd @@ -115,7 +115,7 @@ symbol_file_add_from_memory (struct bfd
++i; ++i;
} }
@ -1207,10 +1176,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile-mem.c
sai, OBJF_SHARED); sai, OBJF_SHARED);
/* This might change our ideas about frames already looked at. */ /* This might change our ideas about frames already looked at. */
Index: gdb-6.8.50.20090803/gdb/symfile.c Index: gdb-6.8.50.20090809/gdb/symfile.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/symfile.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/symfile.c 2009-08-10 14:59:28.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/symfile.c 2009-08-04 06:02:45.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/symfile.c 2009-08-10 14:59:58.000000000 +0200
@@ -49,6 +49,7 @@ @@ -49,6 +49,7 @@
#include "readline/readline.h" #include "readline/readline.h"
#include "gdb_assert.h" #include "gdb_assert.h"
@ -1290,7 +1259,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
free_all_objfiles (); free_all_objfiles ();
@@ -3380,6 +3389,8 @@ reread_symbols (void) @@ -3387,6 +3396,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);
@ -1299,10 +1268,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
/* If the mtime has changed between the time we set new_modtime /* If the mtime has changed between the time we set new_modtime
and now, we *want* this to be out of date, so don't call stat and now, we *want* this to be out of date, so don't call stat
again now. */ again now. */
Index: gdb-6.8.50.20090803/gdb/target.h Index: gdb-6.8.50.20090809/gdb/target.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/target.h 2009-08-03 21:39:39.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/target.h 2009-08-10 14:59:28.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/target.h 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/target.h 2009-08-10 14:59:58.000000000 +0200
@@ -524,7 +524,7 @@ struct target_ops @@ -524,7 +524,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. */
@ -1312,10 +1281,10 @@ Index: gdb-6.8.50.20090803/gdb/target.h
/* Search SEARCH_SPACE_LEN bytes beginning at START_ADDR for the /* Search SEARCH_SPACE_LEN bytes beginning at START_ADDR for the
sequence of bytes in PATTERN with length PATTERN_LEN. sequence of bytes in PATTERN with length PATTERN_LEN.
Index: gdb-6.8.50.20090803/gdb/symfile.h Index: gdb-6.8.50.20090809/gdb/symfile.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/symfile.h 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/symfile.h 2009-08-10 14:59:28.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/symfile.h 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/symfile.h 2009-08-10 14:59:58.000000000 +0200
@@ -229,7 +229,13 @@ enum symfile_add_flags @@ -229,7 +229,13 @@ enum symfile_add_flags
SYMFILE_MAINLINE = 1 << 2, SYMFILE_MAINLINE = 1 << 2,

View File

@ -1,7 +1,7 @@
Index: gdb-6.8.50.20090803/gdb/corelow.c Index: gdb-6.8.50.20090809/gdb/corelow.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/corelow.c 2009-07-31 17:25:21.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/corelow.c 2009-07-31 17:25:21.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/corelow.c 2009-08-04 06:32:12.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/corelow.c 2009-08-10 14:56:11.000000000 +0200
@@ -45,6 +45,10 @@ @@ -45,6 +45,10 @@
#include "exceptions.h" #include "exceptions.h"
#include "solib.h" #include "solib.h"
@ -89,10 +89,10 @@ Index: gdb-6.8.50.20090803/gdb/corelow.c
+ NULL, NULL, NULL, + NULL, NULL, NULL,
+ &setlist, &showlist); + &setlist, &showlist);
} }
Index: gdb-6.8.50.20090803/gdb/doc/gdb.texinfo Index: gdb-6.8.50.20090809/gdb/doc/gdb.texinfo
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/doc/gdb.texinfo 2009-08-04 06:31:59.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/doc/gdb.texinfo 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/doc/gdb.texinfo 2009-08-04 06:32:12.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/doc/gdb.texinfo 2009-08-10 14:56:11.000000000 +0200
@@ -13733,6 +13733,27 @@ information files. @@ -13733,6 +13733,27 @@ information files.
@end table @end table
@ -121,10 +121,10 @@ Index: gdb-6.8.50.20090803/gdb/doc/gdb.texinfo
@cindex @code{.gnu_debuglink} sections @cindex @code{.gnu_debuglink} sections
@cindex debug link sections @cindex debug link sections
A debug link is a special section of the executable file named A debug link is a special section of the executable file named
Index: gdb-6.8.50.20090803/gdb/solib-svr4.c Index: gdb-6.8.50.20090809/gdb/solib-svr4.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/solib-svr4.c 2009-08-04 06:29:47.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/solib-svr4.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/solib-svr4.c 2009-08-04 06:32:12.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/solib-svr4.c 2009-08-10 14:56:11.000000000 +0200
@@ -1101,9 +1101,33 @@ svr4_current_sos (void) @@ -1101,9 +1101,33 @@ svr4_current_sos (void)
safe_strerror (errcode)); safe_strerror (errcode));
else else
@ -162,10 +162,10 @@ Index: gdb-6.8.50.20090803/gdb/solib-svr4.c
} }
xfree (buffer); xfree (buffer);
Index: gdb-6.8.50.20090803/gdb/symfile.c Index: gdb-6.8.50.20090809/gdb/symfile.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/symfile.c 2009-08-04 06:31:58.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/symfile.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/symfile.c 2009-08-04 06:32:12.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/symfile.c 2009-08-10 14:58:53.000000000 +0200
@@ -55,6 +55,7 @@ @@ -55,6 +55,7 @@
#include "elf-bfd.h" #include "elf-bfd.h"
#include "solib.h" #include "solib.h"
@ -174,7 +174,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
#include <sys/types.h> #include <sys/types.h>
#include <fcntl.h> #include <fcntl.h>
@@ -1193,16 +1194,65 @@ symbol_file_clear (int from_tty) @@ -1195,16 +1196,65 @@ symbol_file_clear (int from_tty)
printf_unfiltered (_("No symbol file now.\n")); printf_unfiltered (_("No symbol file now.\n"));
} }
@ -242,7 +242,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
{ {
struct build_id *retval; struct build_id *retval;
@@ -1218,6 +1268,348 @@ build_id_bfd_get (bfd *abfd) @@ -1220,6 +1270,348 @@ build_id_bfd_get (bfd *abfd)
return retval; return retval;
} }
@ -591,7 +591,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
/* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */ /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
static int static int
@@ -1235,7 +1627,7 @@ build_id_verify (const char *filename, s @@ -1237,7 +1629,7 @@ build_id_verify (const char *filename, s
if (abfd == NULL) if (abfd == NULL)
return 0; return 0;
@ -600,7 +600,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
if (found == NULL) if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"), filename); warning (_("File \"%s\" has no build-id, file skipped"), filename);
@@ -1254,8 +1646,9 @@ build_id_verify (const char *filename, s @@ -1256,8 +1648,9 @@ build_id_verify (const char *filename, s
return retval; return retval;
} }
@ -612,7 +612,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
{ {
char *link, *s, *retval = NULL; char *link, *s, *retval = NULL;
gdb_byte *data = build_id->data; gdb_byte *data = build_id->data;
@@ -1263,7 +1656,9 @@ build_id_to_debug_filename (struct build @@ -1265,7 +1658,9 @@ build_id_to_debug_filename (struct build
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */ /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
link = xmalloc (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1 link = xmalloc (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1
@ -623,7 +623,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
s = link + sprintf (link, "%s/.build-id/", debug_file_directory); s = link + sprintf (link, "%s/.build-id/", debug_file_directory);
if (size > 0) if (size > 0)
{ {
@@ -1274,12 +1669,14 @@ build_id_to_debug_filename (struct build @@ -1276,12 +1671,14 @@ build_id_to_debug_filename (struct build
*s++ = '/'; *s++ = '/';
while (size-- > 0) while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++); s += sprintf (s, "%02x", (unsigned) *data++);
@ -640,7 +640,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
if (retval != NULL && !build_id_verify (retval, build_id)) if (retval != NULL && !build_id_verify (retval, build_id))
{ {
@@ -1287,9 +1684,150 @@ build_id_to_debug_filename (struct build @@ -1289,9 +1686,150 @@ build_id_to_debug_filename (struct build
retval = NULL; retval = NULL;
} }
@ -649,9 +649,9 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
+ else + else
+ xfree (link); + xfree (link);
+ +
+ return retval; return retval;
+} }
+
+/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages +/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
+ Try to install the hash file ... + Try to install the hash file ...
+ avoidance. */ + avoidance. */
@ -674,9 +674,9 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
+ +
+ retval = obstack_alloc (&missing_filepair_obstack, size); + retval = obstack_alloc (&missing_filepair_obstack, size);
+ memset (retval, 0, size); + memset (retval, 0, size);
return retval; + return retval;
} +}
+
+static hashval_t +static hashval_t
+missing_filepair_hash_func (const struct missing_filepair *elem) +missing_filepair_hash_func (const struct missing_filepair *elem)
+{ +{
@ -791,7 +791,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
static char * static char *
get_debug_link_info (struct objfile *objfile, unsigned long *crc32_out) get_debug_link_info (struct objfile *objfile, unsigned long *crc32_out)
{ {
@@ -1372,32 +1910,36 @@ static char * @@ -1374,32 +1912,36 @@ static char *
find_separate_debug_file (struct objfile *objfile) find_separate_debug_file (struct objfile *objfile)
{ {
asection *sect; asection *sect;
@ -836,7 +836,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
} }
basename = get_debug_link_info (objfile, &crc32); basename = get_debug_link_info (objfile, &crc32);
@@ -1405,7 +1947,7 @@ find_separate_debug_file (struct objfile @@ -1407,7 +1949,7 @@ find_separate_debug_file (struct objfile
if (basename == NULL) if (basename == NULL)
/* There's no separate debug info, hence there's no way we could /* There's no separate debug info, hence there's no way we could
load it => no warning. */ load it => no warning. */
@ -845,18 +845,18 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
dir = xstrdup (objfile->name); dir = xstrdup (objfile->name);
@@ -1421,23 +1963,19 @@ find_separate_debug_file (struct objfile @@ -1429,24 +1971,19 @@ find_separate_debug_file (struct objfile
gdb_assert (i >= 0 && IS_DIR_SEPARATOR (dir[i])); if (canon_name && strlen (canon_name) > i)
dir[i+1] = '\0'; i = strlen (canon_name);
- debugfile = alloca (strlen (debug_file_directory) + 1 - debugfile = alloca (strlen (debug_file_directory) + 1
- + strlen (dir) - + i
- + strlen (DEBUG_SUBDIRECTORY) - + strlen (DEBUG_SUBDIRECTORY)
- + strlen ("/") - + strlen ("/")
- + strlen (basename) - + strlen (basename)
- + 1); - + 1);
+ debugfile = xmalloc (strlen (debug_file_directory) + 1 + debugfile = xmalloc (strlen (debug_file_directory) + 1
+ + strlen (dir) + + i
+ + strlen (DEBUG_SUBDIRECTORY) + + strlen (DEBUG_SUBDIRECTORY)
+ + strlen ("/") + + strlen ("/")
+ + strlen (basename) + + strlen (basename)
@ -870,39 +870,42 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
- { - {
- xfree (basename); - xfree (basename);
- xfree (dir); - xfree (dir);
- xfree (canon_name);
- return xstrdup (debugfile); - return xstrdup (debugfile);
- } - }
+ goto cleanup_return_debugfile; + goto cleanup_return_debugfile;
/* Then try in the subdirectory named DEBUG_SUBDIRECTORY. */ /* Then try in the subdirectory named DEBUG_SUBDIRECTORY. */
strcpy (debugfile, dir); strcpy (debugfile, dir);
@@ -1446,11 +1984,7 @@ find_separate_debug_file (struct objfile @@ -1455,12 +1992,7 @@ find_separate_debug_file (struct objfile
strcat (debugfile, basename); strcat (debugfile, basename);
if (separate_debug_file_exists (debugfile, crc32, objfile->name)) if (separate_debug_file_exists (debugfile, crc32, objfile->name))
- { - {
- xfree (basename); - xfree (basename);
- xfree (dir); - xfree (dir);
- xfree (canon_name);
- return xstrdup (debugfile); - return xstrdup (debugfile);
- } - }
+ goto cleanup_return_debugfile; + goto cleanup_return_debugfile;
/* Then try in the global debugfile directory. */ /* Then try in the global debugfile directory. */
strcpy (debugfile, debug_file_directory); strcpy (debugfile, debug_file_directory);
@@ -1459,11 +1993,7 @@ find_separate_debug_file (struct objfile @@ -1469,12 +2001,7 @@ find_separate_debug_file (struct objfile
strcat (debugfile, basename); strcat (debugfile, basename);
if (separate_debug_file_exists (debugfile, crc32, objfile->name)) if (separate_debug_file_exists (debugfile, crc32, objfile->name))
- { - {
- xfree (basename); - xfree (basename);
- xfree (dir); - xfree (dir);
- xfree (canon_name);
- return xstrdup (debugfile); - return xstrdup (debugfile);
- } - }
+ goto cleanup_return_debugfile; + goto cleanup_return_debugfile;
/* If the file is in the sysroot, try using its base path in the /* If the file is in the sysroot, try using its base path in the
global debugfile directory. */ global debugfile directory. */
@@ -1478,20 +2008,18 @@ find_separate_debug_file (struct objfile @@ -1488,21 +2015,18 @@ find_separate_debug_file (struct objfile
strcat (debugfile, basename); strcat (debugfile, basename);
if (separate_debug_file_exists (debugfile, crc32, objfile->name)) if (separate_debug_file_exists (debugfile, crc32, objfile->name))
@ -910,17 +913,17 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
- xfree (canon_name); - xfree (canon_name);
- xfree (basename); - xfree (basename);
- xfree (dir); - xfree (dir);
- xfree (canon_name);
- return xstrdup (debugfile); - return xstrdup (debugfile);
- } - }
+ goto cleanup_return_debugfile; + goto cleanup_return_debugfile;
} }
-
- if (canon_name) - if (canon_name)
- xfree (canon_name); - xfree (canon_name);
+ debugfile = NULL; + debugfile = NULL;
+ debug_print_missing (objfile->name, build_id_filename); + debug_print_missing (objfile->name, build_id_filename);
+
+cleanup_return_debugfile: +cleanup_return_debugfile:
+ xfree (build_id_filename); + xfree (build_id_filename);
+ xfree (canon_name); + xfree (canon_name);
@ -931,7 +934,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
} }
@@ -4243,4 +4771,16 @@ Show printing of symbol loading messages @@ -4254,4 +4778,16 @@ Show printing of symbol loading messages
NULL, NULL,
NULL, NULL,
&setprintlist, &showprintlist); &setprintlist, &showprintlist);
@ -948,10 +951,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
+ +
+ observer_attach_executable_changed (debug_print_executable_changed); + observer_attach_executable_changed (debug_print_executable_changed);
} }
Index: gdb-6.8.50.20090803/gdb/symfile.h Index: gdb-6.8.50.20090809/gdb/symfile.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/symfile.h 2009-08-04 06:29:47.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/symfile.h 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/symfile.h 2009-08-04 06:32:12.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/symfile.h 2009-08-10 14:56:11.000000000 +0200
@@ -388,6 +388,13 @@ extern int symfile_map_offsets_to_segmen @@ -388,6 +388,13 @@ extern int symfile_map_offsets_to_segmen
struct symfile_segment_data *get_symfile_segment_data (bfd *abfd); struct symfile_segment_data *get_symfile_segment_data (bfd *abfd);
void free_symfile_segment_data (struct symfile_segment_data *data); void free_symfile_segment_data (struct symfile_segment_data *data);
@ -966,10 +969,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile.h
/* From dwarf2read.c */ /* From dwarf2read.c */
extern int dwarf2_has_info (struct objfile *); extern int dwarf2_has_info (struct objfile *);
Index: gdb-6.8.50.20090803/gdb/testsuite/lib/gdb.exp Index: gdb-6.8.50.20090809/gdb/testsuite/lib/gdb.exp
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/testsuite/lib/gdb.exp 2009-08-04 06:29:47.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/testsuite/lib/gdb.exp 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/testsuite/lib/gdb.exp 2009-08-04 06:32:12.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/testsuite/lib/gdb.exp 2009-08-10 14:56:11.000000000 +0200
@@ -1248,6 +1248,16 @@ proc default_gdb_start { } { @@ -1248,6 +1248,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0." warning "Couldn't set the width to 0."
} }
@ -987,10 +990,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite/lib/gdb.exp
return 0; return 0;
} }
Index: gdb-6.8.50.20090803/gdb/testsuite/lib/mi-support.exp Index: gdb-6.8.50.20090809/gdb/testsuite/lib/mi-support.exp
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/testsuite/lib/mi-support.exp 2009-08-04 06:29:47.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/testsuite/lib/mi-support.exp 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/testsuite/lib/mi-support.exp 2009-08-04 06:32:12.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/testsuite/lib/mi-support.exp 2009-08-10 14:56:11.000000000 +0200
@@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } { @@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } {
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@ Name: gdb%{?_with_debug:-debug}
# Set version to contents of gdb/version.in. # Set version to contents of gdb/version.in.
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch). # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
Version: 6.8.50.20090803 Version: 6.8.50.20090810
# 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.
@ -217,8 +217,8 @@ Patch229: gdb-6.3-bz140532-ppc-unwinding-test.patch
# Testcase for exec() from threaded program (BZ 202689). # Testcase for exec() from threaded program (BZ 202689).
Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
# Backported post gdb-6.8.50.20090803 snapshot fixups. # Backported post gdb-6.8.50.20090810 snapshot fixups.
#Patch232: gdb-6.8.50.20090803-upstream.patch #Patch232: gdb-6.8.50.20090810-upstream.patch
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch
@ -825,6 +825,10 @@ fi
%endif %endif
%changelog %changelog
* Mon Aug 10 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090810-1
- Upgrade to the FSF GDB gdb-6.8.50 snapshot: 6.8.50.20090810
- archer-jankratochvil-fedora12 commit: 93ec16e6f5000dd64d433d86674e820ed0f35b72
* Tue Aug 4 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090803-2 * Tue Aug 4 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090803-2
- Drop the bundled libstdc++ python - it should be packaged on its own now. - Drop the bundled libstdc++ python - it should be packaged on its own now.

View File

@ -1 +1 @@
f120526b72a3dfd29e9f06a562e34aa1 gdb-6.8.50.20090803.tar.bz2 b4549498345849458464c8fe2503a37c gdb-6.8.50.20090810.tar.bz2