Accepting request 18027 from devel:gcc
Copy from devel:gcc/gdb based on submit request 18027 from user rguenther OBS-URL: https://build.opensuse.org/request/show/18027 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdb?expand=0&rev=65
This commit is contained in:
parent
63e83ff75d
commit
721fd9d81e
@ -1,28 +0,0 @@
|
|||||||
Index: gdb-6.8.50.20090302/gdb/symfile.c
|
|
||||||
===================================================================
|
|
||||||
--- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-07-28 12:49:19.000000000 +0200
|
|
||||||
+++ gdb-6.8.50.20090302/gdb/symfile.c 2009-07-28 13:44:06.000000000 +0200
|
|
||||||
@@ -2342,8 +2342,14 @@ find_separate_debug_file (struct objfile
|
|
||||||
gdb_assert (i >= 0 && IS_DIR_SEPARATOR (dir[i]));
|
|
||||||
dir[i+1] = '\0';
|
|
||||||
|
|
||||||
+ canon_name = lrealpath (dir);
|
|
||||||
+ i = strlen (dir);
|
|
||||||
+ if (canon_name
|
|
||||||
+ && strlen (canon_name) > i)
|
|
||||||
+ i = strlen (canon_name);
|
|
||||||
+
|
|
||||||
debugfile = xmalloc (strlen (debug_file_directory) + 1
|
|
||||||
- + strlen (dir)
|
|
||||||
+ + i /* MAX (strlen (canon_name), strlen (dir)) */
|
|
||||||
+ strlen (DEBUG_SUBDIRECTORY)
|
|
||||||
+ strlen ("/")
|
|
||||||
+ strlen (basename)
|
|
||||||
@@ -2376,7 +2382,6 @@ find_separate_debug_file (struct objfile
|
|
||||||
|
|
||||||
/* If the file is in the sysroot, try using its base path in the
|
|
||||||
global debugfile directory. */
|
|
||||||
- canon_name = lrealpath (dir);
|
|
||||||
if (canon_name
|
|
||||||
&& strncmp (canon_name, gdb_sysroot, strlen (gdb_sysroot)) == 0
|
|
||||||
&& IS_DIR_SEPARATOR (canon_name[strlen (gdb_sysroot)]))
|
|
@ -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)
|
@@ -453,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;
|
bfd_usrdata (so->abfd) = 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,
|
||||||
|
|
||||||
|
@ -138,28 +138,24 @@ Index: gdb-6.8.50.20090802/gdb/amd64-tdep.c
|
|||||||
(*this_id) = frame_id_build (cache->base + 16, cache->pc);
|
(*this_id) = frame_id_build (cache->base + 16, cache->pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: gdb-6.8.50.20090802/gdb/i386-tdep.c
|
--- gdb-6.8.50.20090811/gdb/i386-tdep.c.orig 2009-08-10 05:02:39.000000000 +0200
|
||||||
===================================================================
|
+++ gdb-6.8.50.20090811/gdb/i386-tdep.c 2009-08-11 16:33:51.000000000 +0200
|
||||||
--- gdb-6.8.50.20090802.orig/gdb/i386-tdep.c 2009-07-12 19:46:21.000000000 +0200
|
@@ -5432,6 +5432,9 @@ i386_gdbarch_init (struct gdbarch_info i
|
||||||
+++ gdb-6.8.50.20090802/gdb/i386-tdep.c 2009-08-03 15:50:08.000000000 +0200
|
|
||||||
@@ -5307,6 +5307,9 @@ i386_gdbarch_init (struct gdbarch_info i
|
|
||||||
tdep->sc_pc_offset = -1;
|
tdep->sc_pc_offset = -1;
|
||||||
tdep->sc_sp_offset = -1;
|
tdep->sc_sp_offset = -1;
|
||||||
|
|
||||||
+ /* Unwinding stops on i386 automatically. */
|
+ /* Unwinding stops on i386 automatically. */
|
||||||
+ tdep->outermost_frame_p = NULL;
|
+ tdep->outermost_frame_p = NULL;
|
||||||
+
|
+
|
||||||
|
tdep->record_regmap = i386_record_regmap;
|
||||||
|
|
||||||
/* The format used for `long double' on almost all i386 targets is
|
/* The format used for `long double' on almost all i386 targets is
|
||||||
the i387 extended floating-point format. In fact, of all targets
|
--- gdb-6.8.50.20090811/gdb/i386-tdep.h.orig 2009-08-10 05:02:39.000000000 +0200
|
||||||
in the GCC 2.95 tree, only OSF/1 does it different, and insists
|
+++ gdb-6.8.50.20090811/gdb/i386-tdep.h 2009-08-11 16:34:08.000000000 +0200
|
||||||
Index: gdb-6.8.50.20090802/gdb/i386-tdep.h
|
@@ -120,6 +120,9 @@ struct gdbarch_tdep
|
||||||
===================================================================
|
|
||||||
--- gdb-6.8.50.20090802.orig/gdb/i386-tdep.h 2009-07-02 19:25:54.000000000 +0200
|
|
||||||
+++ gdb-6.8.50.20090802/gdb/i386-tdep.h 2009-08-03 15:50:29.000000000 +0200
|
|
||||||
@@ -115,6 +115,9 @@ struct gdbarch_tdep
|
|
||||||
int (*i386_intx80_record) (struct regcache *regcache);
|
|
||||||
/* Parse sysenter args. */
|
|
||||||
int (*i386_sysenter_record) (struct regcache *regcache);
|
int (*i386_sysenter_record) (struct regcache *regcache);
|
||||||
|
/* Parse syscall args. */
|
||||||
|
int (*i386_syscall_record) (struct regcache *regcache);
|
||||||
+
|
+
|
||||||
+ /* Detect OS dependent outermost frames; such as `clone'. */
|
+ /* Detect OS dependent outermost frames; such as `clone'. */
|
||||||
+ int (*outermost_frame_p) (struct frame_info *this_frame);
|
+ int (*outermost_frame_p) (struct frame_info *this_frame);
|
||||||
|
@ -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 } {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e630a9433f9b72ed6ba6651a32d44e4867c42645e7706ffc128c54448efd0c8d
|
|
||||||
size 18144505
|
|
3
gdb-6.8.50.20090811.tar.bz2
Normal file
3
gdb-6.8.50.20090811.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:03dec5c2840b0edb1cbca5ad2946327fab075e5c896f9afd830250fad3767a25
|
||||||
|
size 18139711
|
3261
gdb-archer.patch
3261
gdb-archer.patch
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 17 14:04:46 CEST 2009 - rguenther@suse.de
|
||||||
|
|
||||||
|
- Merge from gdb-6.8.50.20090811-2.fc12.src.rpm.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Aug 11 17:32:38 CEST 2009 - rguenther@suse.de
|
Tue Aug 11 17:32:38 CEST 2009 - rguenther@suse.de
|
||||||
|
|
||||||
|
8
gdb.spec
8
gdb.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package gdb (Version 6.8.50.20090803)
|
# spec file for package gdb (Version 6.8.50.20090811)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
@ -22,13 +22,13 @@ Name: gdb
|
|||||||
# 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.20090811
|
||||||
Release: 1
|
Release: 1
|
||||||
# The release always contains a leading reserved number, start it at 1.
|
# The release always contains a leading reserved number, start it at 1.
|
||||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
Source: ftp://sourceware.org/pub/gdb/releases/gdb-%{version}.tar.bz2
|
Source: ftp://sourceware.org/pub/gdb/snapshots/current/gdb-%{version}.tar.bz2
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Url: http://gnu.org/software/gdb/
|
Url: http://gnu.org/software/gdb/
|
||||||
# For our convenience
|
# For our convenience
|
||||||
@ -264,7 +264,6 @@ Patch375: gdb-readline-6.0.patch
|
|||||||
Patch1000: readline-5.1-random.patch
|
Patch1000: readline-5.1-random.patch
|
||||||
Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch
|
Patch1002: gdb-6.6-buildid-locate-rpm-suse.patch
|
||||||
Patch1007: fix-gdb-backtrace.diff
|
Patch1007: fix-gdb-backtrace.diff
|
||||||
Patch1008: fix-symread-crash.diff
|
|
||||||
BuildRequires: bison flex gettext glibc-devel ncurses-devel texinfo zlib-devel
|
BuildRequires: bison flex gettext glibc-devel ncurses-devel texinfo zlib-devel
|
||||||
%if %{suse_version} < 1020
|
%if %{suse_version} < 1020
|
||||||
BuildRequires: expat
|
BuildRequires: expat
|
||||||
@ -439,7 +438,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
|||||||
%patch1000
|
%patch1000
|
||||||
%patch1002 -p1
|
%patch1002 -p1
|
||||||
%patch1007
|
%patch1007
|
||||||
%patch1008 -p1
|
|
||||||
find -name "*.orig" | xargs rm -f
|
find -name "*.orig" | xargs rm -f
|
||||||
! find -name "*.rej" # Should not happen.
|
! find -name "*.rej" # Should not happen.
|
||||||
%endif # 0%{!?_with_upstream:1}
|
%endif # 0%{!?_with_upstream:1}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user