rpms/gdb/devel .cvsignore, 1.33, 1.34 gdb-6.3-pie-20050110.patch, 1.17, 1.18 gdb-6.6-buildid-locate.patch, 1.23, 1.24 gdb-archer.patch, 1.19, 1.20 gdb.spec, 1.369, 1.370 sources, 1.32, 1.33
Jan Kratochvil
jkratoch at fedoraproject.org
Mon Aug 10 13:22:52 UTC 2009
Author: jkratoch
Update of /cvs/pkgs/rpms/gdb/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv5077
Modified Files:
.cvsignore gdb-6.3-pie-20050110.patch
gdb-6.6-buildid-locate.patch gdb-archer.patch gdb.spec sources
Log Message:
* Mon Aug 10 2009 Jan Kratochvil <jan.kratochvil at 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
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/.cvsignore,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -p -r1.33 -r1.34
--- .cvsignore 4 Aug 2009 05:37:27 -0000 1.33
+++ .cvsignore 10 Aug 2009 13:22:51 -0000 1.34
@@ -1 +1 @@
-gdb-6.8.50.20090803.tar.bz2
+gdb-6.8.50.20090810.tar.bz2
gdb-6.3-pie-20050110.patch:
amd64-tdep.c | 71 +++++++-
auxv.c | 24 +-
auxv.h | 4
dwarf2read.c | 2
elfread.c | 2
infrun.c | 4
objfiles.c | 14 +
solib-svr4.c | 474 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
solib.c | 83 ++++++++--
solist.h | 8
symfile-mem.c | 2
symfile.c | 23 ++
symfile.h | 8
target.h | 2
14 files changed, 610 insertions(+), 111 deletions(-)
Index: gdb-6.3-pie-20050110.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.3-pie-20050110.patch,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -p -r1.17 -r1.18
--- gdb-6.3-pie-20050110.patch 4 Aug 2009 05:37:27 -0000 1.17
+++ gdb-6.3-pie-20050110.patch 10 Aug 2009 13:22:51 -0000 1.18
@@ -26,10 +26,10 @@
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.20090803/gdb/amd64-tdep.c 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/amd64-tdep.c 2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/amd64-tdep.c 2009-08-10 14:59:58.000000000 +0200
@@ -36,6 +36,7 @@
#include "regcache.h"
#include "regset.h"
@@ -138,10 +138,10 @@ Index: gdb-6.8.50.20090803/gdb/amd64-tde
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.20090803/gdb/auxv.c 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/auxv.c 2009-07-02 19:25:52.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
Return 1 if an entry was read into *TYPEP and *VALP. */
static int
@@ -230,10 +230,10 @@ Index: gdb-6.8.50.20090803/gdb/auxv.c
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.20090803/gdb/auxv.h 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/auxv.h 2009-06-07 21:07:08.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/auxv.h 2009-08-10 14:59:58.000000000 +0200
@@ -31,14 +31,14 @@
Return 1 if an entry was read into *TYPEP and *VALP. */
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. */
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.20090803/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.20090809/gdb/dwarf2read.c 2009-08-10 14:59:58.000000000 +0200
@@ -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->frame);
@@ -264,10 +264,10 @@ Index: gdb-6.8.50.20090803/gdb/dwarf2rea
|| (objfile->global_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.20090803/gdb/elfread.c 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/elfread.c 2009-08-10 00:50:30.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
/* If we are reinitializing, or if we have never loaded syms yet,
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);
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.20090803/gdb/infrun.c 2009-08-04 06:04:25.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/infrun.c 2009-08-10 00:50:30.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 (
#endif
target_terminal_inferior ();
@@ -292,10 +292,10 @@ Index: gdb-6.8.50.20090803/gdb/infrun.c
/* If requested, stop when the dynamic linker notifies
gdb of events. This allows the user to get control
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.20090803/gdb/objfiles.c 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/objfiles.c 2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/objfiles.c 2009-08-10 14:59:58.000000000 +0200
@@ -52,6 +52,9 @@
#include "exec.h"
#include "observer.h"
@@ -324,7 +324,7 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.
if (symfile_objfile == NULL)
return 0;
-@@ -475,6 +486,9 @@ free_objfile (struct objfile *objfile)
+@@ -465,6 +476,9 @@ free_objfile (struct objfile *objfile)
if (objfile == symfile_objfile)
symfile_objfile = NULL;
@@ -334,10 +334,10 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.
/* Before the symbol table code was redone to make it easier to
selectively load and remove information particular to a specific
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.20090803/gdb/solib-svr4.c 2009-08-03 21:41:49.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solib-svr4.c 2009-08-10 14:56:11.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/solib-svr4.c 2009-08-10 14:59:58.000000000 +0200
@@ -47,6 +47,7 @@
#include "exec.h"
#include "auxv.h"
@@ -999,10 +999,10 @@ Index: gdb-6.8.50.20090803/gdb/solib-svr
+ add_info ("linkmap", info_linkmap_command,
+ "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.20090803/gdb/solib.c 2009-08-04 05:57:36.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solib.c 2009-08-10 00:50:30.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,
/* external data declarations */
@@ -1021,35 +1021,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
/*
GLOBAL FUNCTION
-@@ -428,10 +432,23 @@ free_so (struct so_list *so)
-
- 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
+@@ -449,14 +453,38 @@ symbol_add_stub (struct so_list *so, int
/* Have we already loaded this shared object? */
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,
so->sections_end);
-- so->objfile = symbol_file_add_from_bfd (so->abfd, flags,
-- sap, OBJF_SHARED | OBJF_KEEPBFD);
+- so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
+ if (so->main)
+ {
+ if (debug_solib)
+ fprintf_unfiltered (gdb_stdlog,
+ "symbol_add_stub: adding symbols for main\n");
-+ so->objfile = symbol_file_add_from_bfd (so->abfd, (flags & ~SYMFILE_VERBOSE) | SYMFILE_MAINLINE,
-+ sap, OBJF_KEEPBFD);
++ so->objfile = symbol_file_add_from_bfd (so->abfd, (flags & ~SYMFILE_VERBOSE) | SYMFILE_MAINLINE, sap, 0);
+ so->main_relocated = 1;
+ }
+ else
-+ so->objfile = symbol_file_add_from_bfd (so->abfd, flags,
-+ sap, OBJF_SHARED | OBJF_KEEPBFD);
++ so->objfile = symbol_file_add_from_bfd (so->abfd, flags, sap, OBJF_SHARED);
+
- free_section_addr_info (sap);
-
- return;
-@@ -606,6 +648,10 @@ update_solib_list (int from_tty, struct
+ p_refcount = xmalloc (sizeof (*p_refcount));
+ *p_refcount = 2; /* Both solib and objfile refer to this abfd. */
+ so->abfd->usrdata = p_refcount;
+@@ -600,6 +628,10 @@ update_solib_list (int from_tty, struct
}
else
{
@@ -1104,7 +1073,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
if (! strcmp (gdb->so_original_name, i->so_original_name))
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. */
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
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,
show_solib_search_path,
&setlist, &showlist);
@@ -1170,10 +1139,10 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
+ NULL, NULL,
+ &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.20090803/gdb/solist.h 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solist.h 2009-08-10 00:50:30.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
bfd *abfd;
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;
+
#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.20090803/gdb/symfile-mem.c 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile-mem.c 2009-08-10 00:50:30.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
++i;
}
@@ -1207,10 +1176,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile-m
sai, OBJF_SHARED);
/* 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.20090803/gdb/symfile.c 2009-08-04 06:02:45.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.c 2009-08-10 14:59:28.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/symfile.c 2009-08-10 14:59:58.000000000 +0200
@@ -49,6 +49,7 @@
#include "readline/readline.h"
#include "gdb_assert.h"
@@ -1290,7 +1259,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
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 (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
and now, we *want* this to be out of date, so don't call stat
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.20090803/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.20090809/gdb/target.h 2009-08-10 14:59:58.000000000 +0200
@@ -524,7 +524,7 @@ struct target_ops
Return -1 if there is insufficient buffer for a whole entry.
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
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.20090803/gdb/symfile.h 2009-08-03 21:39:39.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.h 2009-08-10 14:59:28.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
SYMFILE_MAINLINE = 1 << 2,
gdb-6.6-buildid-locate.patch:
corelow.c | 61 ++++
doc/gdb.texinfo | 21 +
solib-svr4.c | 30 +-
symfile.c | 638 +++++++++++++++++++++++++++++++++++++++----
symfile.h | 7
testsuite/lib/gdb.exp | 10
testsuite/lib/mi-support.exp | 10
7 files changed, 723 insertions(+), 54 deletions(-)
Index: gdb-6.6-buildid-locate.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-6.6-buildid-locate.patch,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -p -r1.23 -r1.24
--- gdb-6.6-buildid-locate.patch 4 Aug 2009 05:37:28 -0000 1.23
+++ gdb-6.6-buildid-locate.patch 10 Aug 2009 13:22:51 -0000 1.24
@@ -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.20090803/gdb/corelow.c 2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/corelow.c 2009-07-31 17:25:21.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/corelow.c 2009-08-10 14:56:11.000000000 +0200
@@ -45,6 +45,10 @@
#include "exceptions.h"
#include "solib.h"
@@ -89,10 +89,10 @@ Index: gdb-6.8.50.20090803/gdb/corelow.c
+ NULL, NULL, NULL,
+ &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.20090803/gdb/doc/gdb.texinfo 2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/doc/gdb.texinfo 2009-08-10 00:50:30.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.
@end table
@@ -121,10 +121,10 @@ Index: gdb-6.8.50.20090803/gdb/doc/gdb.t
@cindex @code{.gnu_debuglink} sections
@cindex debug link sections
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.20090803/gdb/solib-svr4.c 2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/solib-svr4.c 2009-08-10 00:50:30.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)
safe_strerror (errcode));
else
@@ -162,10 +162,10 @@ Index: gdb-6.8.50.20090803/gdb/solib-svr
}
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.20090803/gdb/symfile.c 2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.c 2009-08-10 00:50:30.000000000 +0200
++++ gdb-6.8.50.20090809/gdb/symfile.c 2009-08-10 14:58:53.000000000 +0200
@@ -55,6 +55,7 @@
#include "elf-bfd.h"
#include "solib.h"
@@ -174,7 +174,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
#include <sys/types.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"));
}
@@ -242,7 +242,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
{
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;
}
@@ -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. */
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)
return 0;
@@ -600,7 +600,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
if (found == NULL)
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;
}
@@ -612,7 +612,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
{
char *link, *s, *retval = NULL;
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 */
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);
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++ = '/';
while (size-- > 0)
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))
{
-@@ -1287,9 +1684,150 @@ build_id_to_debug_filename (struct build
+@@ -1289,9 +1686,150 @@ build_id_to_debug_filename (struct build
retval = NULL;
}
@@ -649,9 +649,9 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
+ else
+ xfree (link);
+
-+ return retval;
-+}
-+
+ return retval;
+ }
+
+/* This MISSING_FILEPAIR_HASH tracker is used only for the duplicite messages
+ Try to install the hash file ...
+ avoidance. */
@@ -674,9 +674,9 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
+
+ retval = obstack_alloc (&missing_filepair_obstack, size);
+ memset (retval, 0, size);
- return retval;
- }
-
++ return retval;
++}
++
+static hashval_t
+missing_filepair_hash_func (const struct missing_filepair *elem)
+{
@@ -791,7 +791,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
static char *
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)
{
asection *sect;
@@ -836,7 +836,7 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
}
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)
/* There's no separate debug info, hence there's no way we could
load it => no warning. */
@@ -845,18 +845,18 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
dir = xstrdup (objfile->name);
-@@ -1421,23 +1963,19 @@ find_separate_debug_file (struct objfile
- gdb_assert (i >= 0 && IS_DIR_SEPARATOR (dir[i]));
- dir[i+1] = '\0';
+@@ -1429,24 +1971,19 @@ find_separate_debug_file (struct objfile
+ if (canon_name && strlen (canon_name) > i)
+ i = strlen (canon_name);
- debugfile = alloca (strlen (debug_file_directory) + 1
-- + strlen (dir)
+- + i
- + strlen (DEBUG_SUBDIRECTORY)
- + strlen ("/")
- + strlen (basename)
- + 1);
+ debugfile = xmalloc (strlen (debug_file_directory) + 1
-+ + strlen (dir)
++ + i
+ + strlen (DEBUG_SUBDIRECTORY)
+ + strlen ("/")
+ + strlen (basename)
@@ -870,39 +870,42 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
- {
- xfree (basename);
- xfree (dir);
+- xfree (canon_name);
- return xstrdup (debugfile);
- }
+ goto cleanup_return_debugfile;
/* Then try in the subdirectory named DEBUG_SUBDIRECTORY. */
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);
if (separate_debug_file_exists (debugfile, crc32, objfile->name))
- {
- xfree (basename);
- xfree (dir);
+- xfree (canon_name);
- return xstrdup (debugfile);
- }
+ goto cleanup_return_debugfile;
/* Then try in the global debugfile 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);
if (separate_debug_file_exists (debugfile, crc32, objfile->name))
- {
- xfree (basename);
- xfree (dir);
+- xfree (canon_name);
- return xstrdup (debugfile);
- }
+ goto cleanup_return_debugfile;
/* If the file is in the sysroot, try using its base path in the
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);
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 (basename);
- xfree (dir);
+- xfree (canon_name);
- return xstrdup (debugfile);
- }
-+ goto cleanup_return_debugfile;
++ goto cleanup_return_debugfile;
}
--
+
- if (canon_name)
- xfree (canon_name);
-
+ debugfile = NULL;
+ debug_print_missing (objfile->name, build_id_filename);
-+
+
+cleanup_return_debugfile:
+ xfree (build_id_filename);
+ 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,
&setprintlist, &showprintlist);
@@ -948,10 +951,10 @@ Index: gdb-6.8.50.20090803/gdb/symfile.c
+
+ 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.20090803/gdb/symfile.h 2009-08-04 06:32:12.000000000 +0200
+--- gdb-6.8.50.20090809.orig/gdb/symfile.h 2009-08-10 00:50:30.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
struct symfile_segment_data *get_symfile_segment_data (bfd *abfd);
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 */
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.20090803/gdb/testsuite/lib/gdb.exp 2009-08-04 06:32:12.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.20090809/gdb/testsuite/lib/gdb.exp 2009-08-10 14:56:11.000000000 +0200
@@ -1248,6 +1248,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0."
}
@@ -987,10 +990,10 @@ Index: gdb-6.8.50.20090803/gdb/testsuite
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.20090803/gdb/testsuite/lib/mi-support.exp 2009-08-04 06:32:12.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.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 } {
}
}
gdb-archer.patch:
bfd/coff-stgo32.c | 97
bfd/coffcode.h | 5
bfd/libcoff-in.h | 3
bfd/libcoff.h | 3
gdb/Makefile.in | 95
gdb/NEWS | 7
gdb/ada-lang.c | 43
gdb/block.c | 23
gdb/block.h | 2
gdb/breakpoint.c | 102
gdb/breakpoint.h | 3
gdb/c-exp.y | 252 +
gdb/c-lang.c | 6
gdb/c-typeprint.c | 47
gdb/cli/cli-cmds.c | 72
gdb/coffread.c | 3
gdb/config.in | 8
gdb/config/i386/nm-i386.h | 125
gdb/config/i386/nm-linux64.h | 54
gdb/config/mips/nm-irix5.h | 44
gdb/configure | 79
gdb/configure.ac | 47
gdb/cp-name-parser.y | 5
gdb/cp-namespace.c | 223 +
gdb/cp-support.c | 88
gdb/cp-support.h | 59
gdb/dbxread.c | 1
gdb/doc/gdb.texinfo | 504 +++
gdb/doc/gdbint.texinfo | 62
gdb/doc/observer.texi | 14
gdb/dwarf2-frame.c | 28
gdb/dwarf2-frame.h | 4
gdb/dwarf2expr.c | 86
gdb/dwarf2expr.h | 68
gdb/dwarf2loc.c | 356 ++
gdb/dwarf2loc.h | 6
gdb/dwarf2read.c | 1540 +++++++----
gdb/elfread.c | 11
gdb/eval.c | 170 +
gdb/expression.h | 11
gdb/f-exp.y | 4
gdb/f-lang.c | 413 --
gdb/f-lang.h | 38
gdb/f-typeprint.c | 36
gdb/f-valprint.c | 267 -
gdb/findcmd.c | 111
gdb/findvar.c | 126
gdb/frame.c | 19
gdb/frame.h | 5
gdb/gdbinit.in | 10
gdb/gdbserver/linux-i386-low.c | 210 +
gdb/gdbserver/linux-x86-64-low.c | 184 +
gdb/gdbthread.h | 3
gdb/gdbtypes.c | 596 +++-
gdb/gdbtypes.h | 140 -
gdb/gnu-v3-abi.c | 18
gdb/gnulib/Makefile.in | 4
gdb/jv-lang.c | 1
gdb/language.h | 1
gdb/linespec.c | 62
gdb/m2-lang.c | 1
gdb/machoread.c | 1
gdb/main.c | 80
gdb/maint.c | 8
gdb/mdebugread.c | 2
gdb/mi/mi-cmd-var.c | 115
gdb/mi/mi-cmds.c | 2
gdb/mi/mi-cmds.h | 2
gdb/mi/mi-main.c | 5
gdb/mipsread.c | 1
gdb/objfiles.c | 27
gdb/objfiles.h | 21
gdb/parse.c | 154 +
gdb/parser-defs.h | 25
gdb/printcmd.c | 90
gdb/python/lib/gdb/FrameIterator.py | 33
gdb/python/lib/gdb/FrameWrapper.py | 112
gdb/python/lib/gdb/__init__.py | 19
gdb/python/lib/gdb/backtrace.py | 42
gdb/python/lib/gdb/command/__init__.py | 1
gdb/python/lib/gdb/command/alias.py | 59
gdb/python/lib/gdb/command/backtrace.py | 106
gdb/python/lib/gdb/command/ignore_errors.py | 37
gdb/python/lib/gdb/command/pahole.py | 75
gdb/python/lib/gdb/command/require.py | 57
gdb/python/lib/gdb/command/save_breakpoints.py | 65
gdb/python/lib/gdb/command/upto.py | 129
gdb/python/lib/gdb/function/__init__.py | 1
gdb/python/lib/gdb/function/caller_is.py | 58
gdb/python/lib/gdb/function/in_scope.py | 47
gdb/python/python-block.c | 265 +
gdb/python/python-breakpoint.c | 665 ++++
gdb/python/python-cmd.c | 17
gdb/python/python-frame.c | 116
gdb/python/python-hooks.c | 50
gdb/python/python-inferior.c | 926 ++++++
gdb/python/python-infthread.c | 285 ++
gdb/python/python-internal.h | 69
gdb/python/python-membuf.c | 268 +
gdb/python/python-param.c | 606 ++++
gdb/python/python-prettyprint.c | 21
gdb/python/python-symbol.c | 336 ++
gdb/python/python-symtab.c | 322 ++
gdb/python/python-type.c | 170 -
gdb/python/python-utils.c | 46
gdb/python/python-value.c | 123
gdb/python/python.c | 384 ++
gdb/python/python.h | 8
gdb/scm-lang.c | 1
gdb/scm-valprint.c | 4
gdb/solib-darwin.c | 1
gdb/solib-spu.c | 7
gdb/solib-svr4.c | 4
gdb/solib.c | 3
gdb/solist.h | 2
gdb/somread.c | 1
gdb/spu-tdep.c | 2
gdb/stabsread.c | 4
gdb/stack.c | 38
gdb/symfile.c | 55
gdb/symfile.h | 12
gdb/symmisc.c | 4
gdb/symtab.c | 316 +-
gdb/symtab.h | 17
gdb/target.h | 22
gdb/testsuite/ChangeLog | 97
gdb/testsuite/gdb.arch/powerpc-power7.exp | 175 +
gdb/testsuite/gdb.arch/powerpc-power7.s | 107
gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S | 455 +++
gdb/testsuite/gdb.arch/x86_64-vla-typedef.c | 43
gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp | 64
gdb/testsuite/gdb.base/arrayidx.c | 7
gdb/testsuite/gdb.base/arrayidx.exp | 10
gdb/testsuite/gdb.base/help.exp | 2
gdb/testsuite/gdb.base/lineno-makeup-func.c | 21
gdb/testsuite/gdb.base/lineno-makeup.c | 35
gdb/testsuite/gdb.base/lineno-makeup.exp | 78
gdb/testsuite/gdb.base/macscp.exp | 8
gdb/testsuite/gdb.base/radix.exp | 7
gdb/testsuite/gdb.base/valgrind-attach.c | 28
gdb/testsuite/gdb.base/valgrind-attach.exp | 94
gdb/testsuite/gdb.base/valgrind-attach.sh | 20
gdb/testsuite/gdb.base/vla-overflow.c | 30
gdb/testsuite/gdb.base/vla-overflow.exp | 108
gdb/testsuite/gdb.base/vla.c | 55
gdb/testsuite/gdb.base/vla.exp | 62
gdb/testsuite/gdb.cp/cp-relocate.exp | 6
gdb/testsuite/gdb.cp/cplusfuncs.cc | 6
gdb/testsuite/gdb.cp/cplusfuncs.exp | 195 +
gdb/testsuite/gdb.cp/expand-sals.exp | 2
gdb/testsuite/gdb.cp/member-ptr.cc | 17
gdb/testsuite/gdb.cp/member-ptr.exp | 34
gdb/testsuite/gdb.cp/namespace-multiple-imports.cc | 20
gdb/testsuite/gdb.cp/namespace-multiple-imports.exp | 49
gdb/testsuite/gdb.cp/namespace-nested-imports.cc | 36
gdb/testsuite/gdb.cp/namespace-nested-imports.exp | 57
gdb/testsuite/gdb.cp/namespace-no-imports.cc | 37
gdb/testsuite/gdb.cp/namespace-no-imports.exp | 76
gdb/testsuite/gdb.cp/namespace-recursive.cc | 16
gdb/testsuite/gdb.cp/namespace-recursive.exp | 53
gdb/testsuite/gdb.cp/namespace-using.cc | 128
gdb/testsuite/gdb.cp/namespace-using.exp | 130
gdb/testsuite/gdb.cp/namespace.exp | 23
gdb/testsuite/gdb.cp/overload.exp | 8
gdb/testsuite/gdb.cp/ovldbreak.exp | 46
gdb/testsuite/gdb.cp/shadowing.cc | 48
gdb/testsuite/gdb.cp/shadowing.exp | 91
gdb/testsuite/gdb.dwarf2/dw2-stripped.c | 42
gdb/testsuite/gdb.dwarf2/dw2-stripped.exp | 79
gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S | 83
gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp | 37
gdb/testsuite/gdb.fortran/common-block.exp | 101
gdb/testsuite/gdb.fortran/common-block.f90 | 67
gdb/testsuite/gdb.fortran/dwarf-stride.exp | 42
gdb/testsuite/gdb.fortran/dwarf-stride.f90 | 40
gdb/testsuite/gdb.fortran/dynamic.exp | 158 +
gdb/testsuite/gdb.fortran/dynamic.f90 | 98
gdb/testsuite/gdb.fortran/logical.exp | 44
gdb/testsuite/gdb.fortran/logical.f90 | 33
gdb/testsuite/gdb.fortran/string.exp | 72
gdb/testsuite/gdb.fortran/string.f90 | 37
gdb/testsuite/gdb.gdb/selftest.exp | 4
gdb/testsuite/gdb.mi/gdb701.exp | 2
gdb/testsuite/gdb.mi/mi-var-display.exp | 4
gdb/testsuite/gdb.mi/mi2-var-display.exp | 4
gdb/testsuite/gdb.opt/array-from-register-func.c | 22
gdb/testsuite/gdb.opt/array-from-register.c | 28
gdb/testsuite/gdb.opt/array-from-register.exp | 33
gdb/testsuite/gdb.python/Makefile.in | 2
gdb/testsuite/gdb.python/python-cmd.exp | 27
gdb/testsuite/gdb.python/python-frame.exp | 48
gdb/testsuite/gdb.python/python-function.exp | 27
gdb/testsuite/gdb.python/python-inferior.c | 49
gdb/testsuite/gdb.python/python-inferior.exp | 201 +
gdb/testsuite/gdb.python/python-infthread.c | 14
gdb/testsuite/gdb.python/python-infthread.exp | 58
gdb/testsuite/gdb.python/python-mi.exp | 96
gdb/testsuite/gdb.python/python-prettyprint.c | 13
gdb/testsuite/gdb.python/python-prettyprint.exp | 11
gdb/testsuite/gdb.python/python-prettyprint.py | 12
gdb/testsuite/gdb.python/python-template.exp | 25
gdb/testsuite/gdb.python/python-value.exp | 68
gdb/testsuite/gdb.python/python.exp | 27
gdb/testsuite/lib/cp-support.exp | 3
gdb/testsuite/lib/gdb.exp | 1
gdb/testsuite/lib/mi-support.exp | 86
gdb/testsuite/lib/python-support.exp | 53
gdb/thread.c | 18
gdb/top.c | 1
gdb/typeprint.c | 14
gdb/typeprint.h | 3
gdb/ui-file.c | 20
gdb/ui-file.h | 6
gdb/utils.c | 7
gdb/valarith.c | 45
gdb/valops.c | 254 +
gdb/valprint.c | 3
gdb/value.c | 211 +
gdb/value.h | 12
gdb/varobj.c | 731 +++--
gdb/varobj.h | 32
gdb/xcoffread.c | 1
include/coff/go32exe.h | 6
include/coff/internal.h | 13
224 files changed, 16278 insertions(+), 2683 deletions(-)
View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.19 -r 1.20 gdb-archer.patchIndex: gdb-archer.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb-archer.patch,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -p -r1.19 -r1.20
--- gdb-archer.patch 4 Aug 2009 05:37:28 -0000 1.19
+++ gdb-archer.patch 10 Aug 2009 13:22:51 -0000 1.20
@@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectAr
http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot:
-commit 0222cb1f4ddd1eda32965e464cb60b1e44e110b2
+commit 93ec16e6f5000dd64d433d86674e820ed0f35b72
branch `archer' - the merge of branches:
archer-tromey-call-frame-cfa
@@ -10,12 +10,289 @@ archer-tromey-delayed-symfile
archer-tromey-dw-op-value
archer-jankratochvil-vla
archer-jankratochvil-misc
-archer-jankratochvil-expr-cumulative
- archer-keiths-expr-cumulative
-archer-jankratochvil-python
- archer-tromey-python
+archer-keiths-expr-cumulative
+archer-tromey-python
+diff --git a/bfd/coff-stgo32.c b/bfd/coff-stgo32.c
+index b8928be..8bf7667 100644
+--- a/bfd/coff-stgo32.c
++++ b/bfd/coff-stgo32.c
+@@ -102,9 +102,6 @@ static bfd_boolean
+
+ #include "coff-i386.c"
+
+-/* I hold in the usrdata the stub. */
+-#define bfd_coff_go32stub bfd_usrdata
+-
+ /* This macro is used, because I cannot assume the endianess of the
+ host system. */
+ #define _H(index) (H_GET_16 (abfd, (header+index*2)))
+@@ -112,7 +109,7 @@ static bfd_boolean
+ /* These bytes are a 2048-byte DOS executable, which loads the COFF
+ image into memory and then runs it. It is called 'stub'. */
+
+-static const unsigned char stub_bytes[STUBSIZE] =
++static const unsigned char stub_bytes[GO32_STUBSIZE] =
+ {
+ #include "go32stub.h"
+ };
+@@ -120,7 +117,7 @@ static const unsigned char stub_bytes[STUBSIZE] =
+ /*
+ I have not commented each swap function below, because the
+ technique is in any function the same. For the ...in function,
+- all the pointers are adjusted by adding STUBSIZE and for the
++ all the pointers are adjusted by adding GO32_STUBSIZE and for the
+ ...out function, it is subtracted first and after calling the
+ standard swap function it is reset to the old value. */
+
+@@ -132,25 +129,20 @@ static const unsigned char stub_bytes[STUBSIZE] =
+
+ static void
+ adjust_filehdr_in_post (abfd, src, dst)
+- bfd *abfd;
++ bfd *abfd ATTRIBUTE_UNUSED;
+ PTR src;
+ PTR dst;
+ {
+ FILHDR *filehdr_src = (FILHDR *) src;
+ struct internal_filehdr *filehdr_dst = (struct internal_filehdr *) dst;
+
+- ADJUST_VAL (filehdr_dst->f_symptr, STUBSIZE);
++ ADJUST_VAL (filehdr_dst->f_symptr, GO32_STUBSIZE);
+
+- /* Save now the stub to be used later. */
+- bfd_coff_go32stub (abfd) = (PTR) bfd_alloc (abfd, (bfd_size_type) STUBSIZE);
+-
+- /* Since this function returns no status, I do not set here
+- any bfd_error_...
+- That means, before the use of bfd_coff_go32stub (), this value
+- should be checked if it is != NULL. */
+- if (bfd_coff_go32stub (abfd) == NULL)
+- return;
+- memcpy (bfd_coff_go32stub (abfd), filehdr_src->stub, STUBSIZE);
++ /* Save now the stub to be used later. Put the stub data to FILEHDR_DST
++ first as coff_data (abfd) still does not exist. It may not even be ever
++ created as we are just checking the file format of ABFD. */
++ memcpy (filehdr_dst->go32stub, filehdr_src->stub, GO32_STUBSIZE);
++ filehdr_dst->f_flags |= F_GO32STUB;
+ }
+
+ static void
+@@ -166,13 +158,13 @@ adjust_filehdr_out_pre (abfd, in, out)
+ create_go32_stub (abfd);
+
+ /* Copy the stub to the file header. */
+- if (bfd_coff_go32stub (abfd) != NULL)
+- memcpy (filehdr_out->stub, bfd_coff_go32stub (abfd), STUBSIZE);
++ if (coff_data (abfd)->go32stub != NULL)
++ memcpy (filehdr_out->stub, coff_data (abfd)->go32stub, GO32_STUBSIZE);
+ else
+ /* Use the default. */
+- memcpy (filehdr_out->stub, stub_bytes, STUBSIZE);
++ memcpy (filehdr_out->stub, stub_bytes, GO32_STUBSIZE);
+
+- ADJUST_VAL (filehdr_in->f_symptr, -STUBSIZE);
++ ADJUST_VAL (filehdr_in->f_symptr, -GO32_STUBSIZE);
+ }
+
+ static void
+@@ -183,7 +175,7 @@ adjust_filehdr_out_post (abfd, in, out)
+ {
+ struct internal_filehdr *filehdr_in = (struct internal_filehdr *) in;
+ /* Undo the above change. */
+- ADJUST_VAL (filehdr_in->f_symptr, STUBSIZE);
++ ADJUST_VAL (filehdr_in->f_symptr, GO32_STUBSIZE);
+ }
+
+ static void
+@@ -194,9 +186,9 @@ adjust_scnhdr_in_post (abfd, ext, in)
+ {
+ struct internal_scnhdr *scnhdr_int = (struct internal_scnhdr *) in;
+
+- ADJUST_VAL (scnhdr_int->s_scnptr, STUBSIZE);
+- ADJUST_VAL (scnhdr_int->s_relptr, STUBSIZE);
+- ADJUST_VAL (scnhdr_int->s_lnnoptr, STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_scnptr, GO32_STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_relptr, GO32_STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_lnnoptr, GO32_STUBSIZE);
+ }
+
+ static void
+@@ -207,9 +199,9 @@ adjust_scnhdr_out_pre (abfd, in, out)
+ {
+ struct internal_scnhdr *scnhdr_int = (struct internal_scnhdr *) in;
+
+- ADJUST_VAL (scnhdr_int->s_scnptr, -STUBSIZE);
+- ADJUST_VAL (scnhdr_int->s_relptr, -STUBSIZE);
+- ADJUST_VAL (scnhdr_int->s_lnnoptr, -STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_scnptr, -GO32_STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_relptr, -GO32_STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_lnnoptr, -GO32_STUBSIZE);
+ }
+
+ static void
+@@ -220,9 +212,9 @@ adjust_scnhdr_out_post (abfd, in, out)
+ {
+ struct internal_scnhdr *scnhdr_int = (struct internal_scnhdr *) in;
+
+- ADJUST_VAL (scnhdr_int->s_scnptr, STUBSIZE);
+- ADJUST_VAL (scnhdr_int->s_relptr, STUBSIZE);
+- ADJUST_VAL (scnhdr_int->s_lnnoptr, STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_scnptr, GO32_STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_relptr, GO32_STUBSIZE);
++ ADJUST_VAL (scnhdr_int->s_lnnoptr, GO32_STUBSIZE);
+ }
+
+ static void
+@@ -239,7 +231,7 @@ adjust_aux_in_post (abfd, ext1, type, class, indx, numaux, in1)
+
+ if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
+ {
+- ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, STUBSIZE);
++ ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, GO32_STUBSIZE);
+ }
+ }
+
+@@ -257,7 +249,7 @@ adjust_aux_out_pre (abfd, inp, type, class, indx, numaux, extp)
+
+ if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
+ {
+- ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, -STUBSIZE);
++ ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, -GO32_STUBSIZE);
+ }
+ }
+
+@@ -275,7 +267,7 @@ adjust_aux_out_post (abfd, inp, type, class, indx, numaux, extp)
+
+ if (class == C_BLOCK || class == C_FCN || ISFCN (type) || ISTAG (class))
+ {
+- ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, STUBSIZE);
++ ADJUST_VAL (in->x_sym.x_fcnary.x_fcn.x_lnnoptr, GO32_STUBSIZE);
+ }
+ }
+
+@@ -296,7 +288,7 @@ create_go32_stub (abfd)
+ bfd *abfd;
+ {
+ /* Do it only once. */
+- if (bfd_coff_go32stub (abfd) == NULL)
++ if (coff_data (abfd)->go32stub == NULL)
+ {
+ char *stub;
+ struct stat st;
+@@ -362,32 +354,32 @@ create_go32_stub (abfd)
+ goto stub_end;
+ }
+ /* Now we found a correct stub (hopefully). */
[...4682 lines suppressed...]
+ else
+ {
+ tmp_var->obj_name = xstrdup (var->obj_name);
++ tmp_var->from = var->from;
++ tmp_var->to = var->to;
+ varobj_delete (var, NULL, 0);
-@@ -3173,6 +3287,19 @@ java_value_of_variable (struct varobj *var, enum varobj_display_formats format)
+ install_variable (tmp_var);
+@@ -3173,6 +3365,19 @@ java_value_of_variable (struct varobj *var, enum varobj_display_formats format)
return cplus_value_of_variable (var, format);
}
@@ -25316,7 +26286,7 @@ index 4a94988..9bfc130 100644
/* Iterate all the existing _root_ VAROBJs and call the FUNC callback for them
with an arbitrary caller supplied DATA pointer. */
-@@ -3190,48 +3317,110 @@ all_root_varobjs (void (*func) (struct varobj *var, void *data), void *data)
+@@ -3190,48 +3395,110 @@ all_root_varobjs (void (*func) (struct varobj *var, void *data), void *data)
(*func) (var_root->rootvar, data);
}
}
@@ -25454,8 +26424,12 @@ index 4a94988..9bfc130 100644
tmp_var->obj_name = xstrdup (var->obj_name);
varobj_delete (var, NULL, 0);
install_variable (tmp_var);
-@@ -3243,12 +3432,61 @@ varobj_invalidate_iter (struct varobj *var, void *unused)
- var->root->is_valid = 0;
+@@ -3239,16 +3506,64 @@ varobj_invalidate_iter (struct varobj *var, void *unused)
+ else
+ var->root->is_valid = 0;
+ }
+- else /* locals must be invalidated. */
+- var->root->is_valid = 0;
}
-/* Invalidate the varobjs that are tied to locals and re-create the ones that
@@ -25467,8 +26441,7 @@ index 4a94988..9bfc130 100644
-varobj_invalidate (void)
+static void
+varobj_invalidate (struct objfile *objfile)
- {
-- all_root_varobjs (varobj_invalidate_iter, NULL);
++{
+ /* Check all the VAROBJs, even non-root ones. Child VAROBJs can reference
+ types from other OBJFILEs through TYPE_IS_OPAQUE resolutions by
+ check_typedef. */
@@ -25495,7 +26468,8 @@ index 4a94988..9bfc130 100644
+
+static void
+varobj_revalidate_for_objfile (struct objfile *objfile)
-+{
+ {
+- all_root_varobjs (varobj_invalidate_iter, NULL);
+ varobj_revalidate ();
+}
+
@@ -25517,29 +26491,58 @@ index 4a94988..9bfc130 100644
+ show_varobjdebug,
+ &setlist, &showlist);
+
++
+ observer_attach_objfile_unloading (varobj_invalidate );
+ observer_attach_objfile_unloaded (varobj_revalidate);
+ observer_attach_new_objfile (varobj_revalidate_for_objfile);
+ observer_attach_mark_used (varobj_types_mark_used);
}
diff --git a/gdb/varobj.h b/gdb/varobj.h
-index 7297243..aabd743 100644
+index 7297243..fbe2f2f 100644
--- a/gdb/varobj.h
+++ b/gdb/varobj.h
-@@ -112,6 +112,12 @@ extern void varobj_set_frozen (struct varobj *var, int frozen);
+@@ -78,6 +78,12 @@ typedef struct varobj_update_result_t
+ new value of varobj is already computed and installed, or has to
+ be yet installed. Don't use this outside varobj.c */
+ int value_installed;
++
++ /* This will be non-NULL when new children were added to the varobj.
++ It lists the new children (which must necessarily come at the end
++ of the child list) added during an update. The caller is
++ responsible for freeing this vector. */
++ VEC (varobj_p) *new;
+ } varobj_update_result;
+
+ DEF_VEC_O (varobj_update_result);
+@@ -112,13 +118,24 @@ extern void varobj_set_frozen (struct varobj *var, int frozen);
extern int varobj_get_frozen (struct varobj *var);
-+extern void varobj_get_child_range (struct varobj *var,
-+ VEC (varobj_p) *children,
-+ int *from, int *to);
++extern void varobj_get_child_range (struct varobj *var, int *from, int *to);
+
+extern void varobj_set_child_range (struct varobj *var, int from, int to);
+
extern char *varobj_get_display_hint (struct varobj *var);
extern int varobj_get_num_children (struct varobj *var);
-@@ -143,12 +149,13 @@ extern void all_root_varobjs (void (*func) (struct varobj *var, void *data),
+
+-/* Return the list of children of VAR. The returned vector
+- should not be modified in any way. */
+-extern VEC (varobj_p)* varobj_list_children (struct varobj *var);
++/* Return the list of children of VAR. The returned vector should not
++ be modified in any way. FROM and TO are in/out parameters
++ indicating the range of children to return. If either *FROM or *TO
++ is less than zero on entry, then all children will be returned. On
++ return, *FROM and *TO will be updated to indicate the real range
++ that was returned. The resulting VEC will contain at least the
++ children from *FROM to just before *TO; it might contain more
++ children, depending on whether any more were available. */
++extern VEC (varobj_p)* varobj_list_children (struct varobj *var,
++ int *from, int *to);
+
+ extern char *varobj_get_type (struct varobj *var);
+
+@@ -143,12 +160,15 @@ extern void all_root_varobjs (void (*func) (struct varobj *var, void *data),
extern VEC(varobj_update_result) *varobj_update (struct varobj **varp,
int explicit);
@@ -25554,6 +26557,8 @@ index 7297243..aabd743 100644
+varobj_set_visualizer (struct varobj *var, const char *visualizer);
+
+extern void varobj_enable_pretty_printing (void);
++
++extern int varobj_has_more (struct varobj *var, int to);
#endif /* VAROBJ_H */
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
@@ -25568,3 +26573,68 @@ index c56ab86..dacf913 100644
xcoff_symfile_finish, /* sym_finish: finished with file, cleanup */
xcoff_symfile_offsets, /* sym_offsets: xlate offsets ext->int form */
default_symfile_segments, /* sym_segments: Get segment information from
+diff --git a/include/coff/go32exe.h b/include/coff/go32exe.h
+index c85da0c..2248ff2 100644
+--- a/include/coff/go32exe.h
++++ b/include/coff/go32exe.h
+@@ -16,11 +16,9 @@
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
+
+-#define STUBSIZE 2048
+-
+ struct external_filehdr_go32_exe
+ {
+- char stub[STUBSIZE];/* the stub to load the image */
++ char stub[GO32_STUBSIZE]; /* the stub to load the image */
+ /* the standard COFF header */
+ char f_magic[2]; /* magic number */
+ char f_nscns[2]; /* number of sections */
+@@ -34,4 +32,4 @@ struct external_filehdr_go32_exe
+ #undef FILHDR
+ #define FILHDR struct external_filehdr_go32_exe
+ #undef FILHSZ
+-#define FILHSZ STUBSIZE+20
++#define FILHSZ GO32_STUBSIZE+20
+diff --git a/include/coff/internal.h b/include/coff/internal.h
+index c5d6cd1..36d03eb 100644
+--- a/include/coff/internal.h
++++ b/include/coff/internal.h
+@@ -58,10 +58,19 @@ struct internal_extra_pe_filehdr
+ bfd_vma nt_signature; /* required NT signature, 0x4550 */
+ };
+
++#define GO32_STUBSIZE 2048
++
+ struct internal_filehdr
+ {
+ struct internal_extra_pe_filehdr pe;
+
++ /* coff-stgo32 EXE stub header before BFD tdata has been allocated.
++ Its data is kept in INTERNAL_FILEHDR.GO32STUB afterwards.
++
++ F_GO32STUB is set iff go32stub contains a valid data. Artifical headers
++ created in BFD have no pre-set go32stub. */
++ char go32stub[GO32_STUBSIZE];
++
+ /* Standard coff internal info. */
+ unsigned short f_magic; /* magic number */
+ unsigned short f_nscns; /* number of sections */
+@@ -84,7 +93,8 @@ struct internal_filehdr
+ F_AR32W file is 32-bit big-endian
+ F_DYNLOAD rs/6000 aix: dynamically loadable w/imports & exports
+ F_SHROBJ rs/6000 aix: file is a shared object
+- F_DLL PE format DLL. */
++ F_DLL PE format DLL
++ F_GO32STUB Field go32stub contains valid data. */
+
+ #define F_RELFLG (0x0001)
+ #define F_EXEC (0x0002)
+@@ -96,6 +106,7 @@ struct internal_filehdr
+ #define F_DYNLOAD (0x1000)
+ #define F_SHROBJ (0x2000)
+ #define F_DLL (0x2000)
++#define F_GO32STUB (0x4000)
+
+ /* Extra structure which is used in the optional header. */
+ typedef struct _IMAGE_DATA_DIRECTORY
Index: gdb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/gdb.spec,v
retrieving revision 1.369
retrieving revision 1.370
diff -u -p -r1.369 -r1.370
--- gdb.spec 4 Aug 2009 07:03:44 -0000 1.369
+++ gdb.spec 10 Aug 2009 13:22:51 -0000 1.370
@@ -10,7 +10,7 @@ Name: gdb%{?_with_debug:-debug}
# Set version to contents of gdb/version.in.
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
-Version: 6.8.50.20090803
+Version: 6.8.50.20090810
# 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.
@@ -217,8 +217,8 @@ Patch229: gdb-6.3-bz140532-ppc-unwinding
# Testcase for exec() from threaded program (BZ 202689).
Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
-# Backported post gdb-6.8.50.20090803 snapshot fixups.
-#Patch232: gdb-6.8.50.20090803-upstream.patch
+# Backported post gdb-6.8.50.20090810 snapshot fixups.
+#Patch232: gdb-6.8.50.20090810-upstream.patch
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
Patch234: gdb-6.6-bz230000-power6-disassembly-test.patch
@@ -825,6 +825,10 @@ fi
%endif
%changelog
+* Mon Aug 10 2009 Jan Kratochvil <jan.kratochvil at 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 at redhat.com> - 6.8.50.20090803-2
- Drop the bundled libstdc++ python - it should be packaged on its own now.
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gdb/devel/sources,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -p -r1.32 -r1.33
--- sources 4 Aug 2009 05:37:29 -0000 1.32
+++ sources 10 Aug 2009 13:22:51 -0000 1.33
@@ -1 +1 @@
-f120526b72a3dfd29e9f06a562e34aa1 gdb-6.8.50.20090803.tar.bz2
+b4549498345849458464c8fe2503a37c gdb-6.8.50.20090810.tar.bz2
More information about the fedora-extras-commits
mailing list