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:
OBS User autobuild 2009-08-17 13:40:03 +00:00 committed by Git OBS Bridge
parent 63e83ff75d
commit 721fd9d81e
9 changed files with 2408 additions and 1286 deletions

View File

@ -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)]))

View File

@ -26,10 +26,10 @@
Fix scan_dyntag() for binaries provided by valgrind (BZ 460319). Fix scan_dyntag() for binaries provided by valgrind (BZ 460319).
Index: gdb-6.8.50.20090803/gdb/amd64-tdep.c Index: gdb-6.8.50.20090809/gdb/amd64-tdep.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/amd64-tdep.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/amd64-tdep.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/amd64-tdep.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/amd64-tdep.c 2009-08-10 14:59:58.000000000 +0200
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
#include "regcache.h" #include "regcache.h"
#include "regset.h" #include "regset.h"
@ -138,10 +138,10 @@ Index: gdb-6.8.50.20090803/gdb/amd64-tdep.c
return pc; return pc;
} }
Index: gdb-6.8.50.20090803/gdb/auxv.c Index: gdb-6.8.50.20090809/gdb/auxv.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/auxv.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/auxv.c 2009-07-02 19:25:52.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/auxv.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/auxv.c 2009-08-10 14:59:58.000000000 +0200
@@ -78,7 +78,7 @@ procfs_xfer_auxv (struct target_ops *ops @@ -78,7 +78,7 @@ procfs_xfer_auxv (struct target_ops *ops
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */
static int static int
@ -230,10 +230,10 @@ Index: gdb-6.8.50.20090803/gdb/auxv.c
break; break;
} }
Index: gdb-6.8.50.20090803/gdb/auxv.h Index: gdb-6.8.50.20090809/gdb/auxv.h
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/auxv.h 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/auxv.h 2009-06-07 21:07:08.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/auxv.h 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/auxv.h 2009-08-10 14:59:58.000000000 +0200
@@ -31,14 +31,14 @@ @@ -31,14 +31,14 @@
Return 1 if an entry was read into *TYPEP and *VALP. */ Return 1 if an entry was read into *TYPEP and *VALP. */
extern int target_auxv_parse (struct target_ops *ops, extern int target_auxv_parse (struct target_ops *ops,
@ -251,10 +251,10 @@ Index: gdb-6.8.50.20090803/gdb/auxv.h
/* Print the contents of the target's AUXV on the specified file. */ /* Print the contents of the target's AUXV on the specified file. */
extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops); extern int fprint_target_auxv (struct ui_file *file, struct target_ops *ops);
Index: gdb-6.8.50.20090803/gdb/dwarf2read.c Index: gdb-6.8.50.20090809/gdb/dwarf2read.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/dwarf2read.c 2009-08-03 21:39:39.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/dwarf2read.c 2009-08-10 14:59:28.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/dwarf2read.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/dwarf2read.c 2009-08-10 14:59:58.000000000 +0200
@@ -1659,7 +1659,7 @@ dwarf2_build_psymtabs (struct objfile *o @@ -1659,7 +1659,7 @@ dwarf2_build_psymtabs (struct objfile *o
dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame); dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame);
dwarf2_read_section (objfile, &dwarf2_per_objfile->frame); dwarf2_read_section (objfile, &dwarf2_per_objfile->frame);
@ -264,10 +264,10 @@ Index: gdb-6.8.50.20090803/gdb/dwarf2read.c
|| (objfile->global_psymbols.size == 0 || (objfile->global_psymbols.size == 0
&& objfile->static_psymbols.size == 0)) && objfile->static_psymbols.size == 0))
{ {
Index: gdb-6.8.50.20090803/gdb/elfread.c Index: gdb-6.8.50.20090809/gdb/elfread.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/elfread.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/elfread.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/elfread.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/elfread.c 2009-08-10 14:59:58.000000000 +0200
@@ -681,7 +681,7 @@ elf_symfile_read (struct objfile *objfil @@ -681,7 +681,7 @@ elf_symfile_read (struct objfile *objfil
/* If we are reinitializing, or if we have never loaded syms yet, /* If we are reinitializing, or if we have never loaded syms yet,
set table to empty. MAINLINE is cleared so that *_read_psymtab set table to empty. MAINLINE is cleared so that *_read_psymtab
@ -277,10 +277,10 @@ Index: gdb-6.8.50.20090803/gdb/elfread.c
{ {
init_psymbol_list (objfile, 0); init_psymbol_list (objfile, 0);
mainline = 0; mainline = 0;
Index: gdb-6.8.50.20090803/gdb/infrun.c Index: gdb-6.8.50.20090809/gdb/infrun.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/infrun.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/infrun.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/infrun.c 2009-08-04 06:04:25.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/infrun.c 2009-08-10 14:59:58.000000000 +0200
@@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME ( @@ -3531,6 +3531,10 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
#endif #endif
target_terminal_inferior (); target_terminal_inferior ();
@ -292,10 +292,10 @@ Index: gdb-6.8.50.20090803/gdb/infrun.c
/* If requested, stop when the dynamic linker notifies /* If requested, stop when the dynamic linker notifies
gdb of events. This allows the user to get control gdb of events. This allows the user to get control
and place breakpoints in initializer routines for and place breakpoints in initializer routines for
Index: gdb-6.8.50.20090803/gdb/objfiles.c Index: gdb-6.8.50.20090809/gdb/objfiles.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/objfiles.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/objfiles.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/objfiles.c 2009-08-03 21:39:39.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/objfiles.c 2009-08-10 14:59:58.000000000 +0200
@@ -52,6 +52,9 @@ @@ -52,6 +52,9 @@
#include "exec.h" #include "exec.h"
#include "observer.h" #include "observer.h"
@ -324,7 +324,7 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.c
if (symfile_objfile == NULL) if (symfile_objfile == NULL)
return 0; return 0;
@@ -475,6 +486,9 @@ free_objfile (struct objfile *objfile) @@ -465,6 +476,9 @@ free_objfile (struct objfile *objfile)
if (objfile == symfile_objfile) if (objfile == symfile_objfile)
symfile_objfile = NULL; symfile_objfile = NULL;
@ -334,10 +334,10 @@ Index: gdb-6.8.50.20090803/gdb/objfiles.c
/* Before the symbol table code was redone to make it easier to /* Before the symbol table code was redone to make it easier to
selectively load and remove information particular to a specific selectively load and remove information particular to a specific
linkage unit, gdb used to do these things whenever the monolithic linkage unit, gdb used to do these things whenever the monolithic
Index: gdb-6.8.50.20090803/gdb/solib-svr4.c Index: gdb-6.8.50.20090809/gdb/solib-svr4.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/solib-svr4.c 2009-08-03 21:39:38.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/solib-svr4.c 2009-08-10 14:56:11.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/solib-svr4.c 2009-08-03 21:41:49.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/solib-svr4.c 2009-08-10 14:59:58.000000000 +0200
@@ -47,6 +47,7 @@ @@ -47,6 +47,7 @@
#include "exec.h" #include "exec.h"
#include "auxv.h" #include "auxv.h"
@ -999,10 +999,10 @@ Index: gdb-6.8.50.20090803/gdb/solib-svr4.c
+ add_info ("linkmap", info_linkmap_command, + add_info ("linkmap", info_linkmap_command,
+ "Display the inferior's linkmap."); + "Display the inferior's linkmap.");
} }
Index: gdb-6.8.50.20090803/gdb/solib.c Index: gdb-6.8.50.20090809/gdb/solib.c
=================================================================== ===================================================================
--- gdb-6.8.50.20090803.orig/gdb/solib.c 2009-08-03 21:39:08.000000000 +0200 --- gdb-6.8.50.20090809.orig/gdb/solib.c 2009-08-10 00:50:30.000000000 +0200
+++ gdb-6.8.50.20090803/gdb/solib.c 2009-08-04 05:57:36.000000000 +0200 +++ gdb-6.8.50.20090809/gdb/solib.c 2009-08-10 15:07:13.000000000 +0200
@@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch, @@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch,
/* external data declarations */ /* external data declarations */
@ -1021,35 +1021,7 @@ Index: gdb-6.8.50.20090803/gdb/solib.c
/* /*
GLOBAL FUNCTION GLOBAL FUNCTION
@@ -428,10 +432,23 @@ free_so (struct so_list *so) @@ -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,

View File

@ -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);

View File

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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e630a9433f9b72ed6ba6651a32d44e4867c42645e7706ffc128c54448efd0c8d
size 18144505

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03dec5c2840b0edb1cbca5ad2946327fab075e5c896f9afd830250fad3767a25
size 18139711

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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}