- Archer update to the snapshot: 6cf16c0711e844094ab694b3d929f7bd30b49f61
- Fix crash on the inlined functions support. - Fix crash from the PIE support, its varobj_refresh() was called only before varobj_invalidate() which is sufficient. - Fix BuildRequires for the `--with testsuite' runs. - Use the newly introduced `--with-pythondir' option. - Remove libstdcxx [python] pretty printers (as included in libstdc++ rpm now).
This commit is contained in:
parent
0d29c1b6dd
commit
8dadf56185
@ -26,10 +26,10 @@
|
||||
|
||||
Fix scan_dyntag() for binaries provided by valgrind (BZ 460319).
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/amd64-tdep.c
|
||||
Index: gdb-6.8.50.20090302/gdb/amd64-tdep.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/amd64-tdep.c 2009-02-28 07:31:48.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/amd64-tdep.c 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/amd64-tdep.c 2009-03-07 00:30:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/amd64-tdep.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -36,6 +36,7 @@
|
||||
#include "regcache.h"
|
||||
#include "regset.h"
|
||||
@ -132,10 +132,10 @@ Index: gdb-6.8.50.20090226/gdb/amd64-tdep.c
|
||||
return pc;
|
||||
}
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/auxv.c
|
||||
Index: gdb-6.8.50.20090302/gdb/auxv.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/auxv.c 2009-02-27 00:04:32.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/auxv.c 2009-02-28 07:40:35.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/auxv.c 2009-03-07 00:30:06.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/auxv.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -81,7 +81,7 @@ procfs_xfer_auxv (struct target_ops *ops
|
||||
Return 1 if an entry was read into *TYPEP and *VALP. */
|
||||
static int
|
||||
@ -224,10 +224,10 @@ Index: gdb-6.8.50.20090226/gdb/auxv.c
|
||||
break;
|
||||
}
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/auxv.h
|
||||
Index: gdb-6.8.50.20090302/gdb/auxv.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/auxv.h 2009-01-03 06:57:50.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/auxv.h 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/auxv.h 2009-01-03 06:57:50.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/auxv.h 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -36,14 +36,14 @@ struct target_ops; /* Forward declarati
|
||||
Return 1 if an entry was read into *TYPEP and *VALP. */
|
||||
extern int target_auxv_parse (struct target_ops *ops,
|
||||
@ -245,10 +245,10 @@ Index: gdb-6.8.50.20090226/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.20090226/gdb/breakpoint.c
|
||||
Index: gdb-6.8.50.20090302/gdb/breakpoint.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/breakpoint.c 2009-02-28 07:38:47.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/breakpoint.c 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-03-07 00:30:10.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -3920,7 +3920,8 @@ describe_other_breakpoints (CORE_ADDR pc
|
||||
printf_filtered (" (thread %d)", b->thread);
|
||||
printf_filtered ("%s%s ",
|
||||
@ -321,10 +321,10 @@ Index: gdb-6.8.50.20090226/gdb/breakpoint.c
|
||||
static void
|
||||
create_fork_vfork_event_catchpoint (int tempflag, char *cond_string,
|
||||
struct breakpoint_ops *ops)
|
||||
Index: gdb-6.8.50.20090226/gdb/breakpoint.h
|
||||
Index: gdb-6.8.50.20090302/gdb/breakpoint.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/breakpoint.h 2009-02-27 00:04:32.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/breakpoint.h 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/breakpoint.h 2009-03-07 00:30:06.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/breakpoint.h 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -127,6 +127,7 @@ enum enable_state
|
||||
automatically enabled and reset when the call
|
||||
"lands" (either completes, or stops at another
|
||||
@ -344,11 +344,11 @@ Index: gdb-6.8.50.20090226/gdb/breakpoint.h
|
||||
/* This function returns TRUE if ep is a catchpoint. */
|
||||
extern int ep_is_catchpoint (struct breakpoint *);
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/dwarf2read.c
|
||||
Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/dwarf2read.c 2009-02-28 07:38:48.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/dwarf2read.c 2009-02-28 07:38:59.000000000 +0100
|
||||
@@ -1421,7 +1421,7 @@ dwarf2_build_psymtabs (struct objfile *o
|
||||
--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-03-07 00:30:10.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -1413,7 +1413,7 @@ dwarf2_build_psymtabs (struct objfile *o
|
||||
else
|
||||
dwarf2_per_objfile->loc_buffer = NULL;
|
||||
|
||||
@ -357,10 +357,10 @@ Index: gdb-6.8.50.20090226/gdb/dwarf2read.c
|
||||
|| (objfile->global_psymbols.size == 0
|
||||
&& objfile->static_psymbols.size == 0))
|
||||
{
|
||||
Index: gdb-6.8.50.20090226/gdb/elfread.c
|
||||
Index: gdb-6.8.50.20090302/gdb/elfread.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/elfread.c 2009-02-27 00:04:32.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/elfread.c 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/elfread.c 2009-03-07 00:30:06.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/elfread.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -680,7 +680,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
|
||||
@ -370,11 +370,11 @@ Index: gdb-6.8.50.20090226/gdb/elfread.c
|
||||
{
|
||||
init_psymbol_list (objfile, 0);
|
||||
mainline = 0;
|
||||
Index: gdb-6.8.50.20090226/gdb/infrun.c
|
||||
Index: gdb-6.8.50.20090302/gdb/infrun.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/infrun.c 2009-02-28 07:37:54.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/infrun.c 2009-02-28 07:38:59.000000000 +0100
|
||||
@@ -3328,6 +3328,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
|
||||
--- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-03-07 00:30:10.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/infrun.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -3354,6 +3354,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
|
||||
#endif
|
||||
target_terminal_inferior ();
|
||||
|
||||
@ -386,10 +386,10 @@ Index: gdb-6.8.50.20090226/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.20090226/gdb/objfiles.c
|
||||
Index: gdb-6.8.50.20090302/gdb/objfiles.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/objfiles.c 2009-02-27 00:04:32.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/objfiles.c 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/objfiles.c 2009-03-07 00:30:06.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/objfiles.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -51,6 +51,9 @@
|
||||
#include "arch-utils.h"
|
||||
#include "exec.h"
|
||||
@ -431,10 +431,10 @@ Index: gdb-6.8.50.20090226/gdb/objfiles.c
|
||||
/* 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.20090226/gdb/solib-svr4.c
|
||||
Index: gdb-6.8.50.20090302/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/solib-svr4.c 2009-02-28 07:31:58.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/solib-svr4.c 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/solib-svr4.c 2009-03-07 00:30:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/solib-svr4.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "exec.h"
|
||||
#include "auxv.h"
|
||||
@ -1116,10 +1116,10 @@ Index: gdb-6.8.50.20090226/gdb/solib-svr4.c
|
||||
+ add_info ("linkmap", info_linkmap_command,
|
||||
+ "Display the inferior's linkmap.");
|
||||
}
|
||||
Index: gdb-6.8.50.20090226/gdb/solib.c
|
||||
Index: gdb-6.8.50.20090302/gdb/solib.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/solib.c 2009-02-21 17:14:49.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/solib.c 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/solib.c 2009-02-21 17:14:49.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/solib.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch,
|
||||
|
||||
/* external data declarations */
|
||||
@ -1306,10 +1306,10 @@ Index: gdb-6.8.50.20090226/gdb/solib.c
|
||||
+ NULL, NULL,
|
||||
+ &setdebuglist, &showdebuglist);
|
||||
}
|
||||
Index: gdb-6.8.50.20090226/gdb/solist.h
|
||||
Index: gdb-6.8.50.20090302/gdb/solist.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/solist.h 2009-02-04 09:42:11.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/solist.h 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/solist.h 2009-02-04 09:42:11.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/solist.h 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -61,6 +61,8 @@ struct so_list
|
||||
bfd *abfd;
|
||||
char symbols_loaded; /* flag: symbols read in yet? */
|
||||
@ -1330,10 +1330,10 @@ Index: gdb-6.8.50.20090226/gdb/solist.h
|
||||
+extern int debug_solib;
|
||||
+
|
||||
#endif
|
||||
Index: gdb-6.8.50.20090226/gdb/symfile-mem.c
|
||||
Index: gdb-6.8.50.20090302/gdb/symfile-mem.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/symfile-mem.c 2009-02-28 07:22:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/symfile-mem.c 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/symfile-mem.c 2009-03-07 00:30:08.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/symfile-mem.c 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -116,7 +116,7 @@ symbol_file_add_from_memory (struct bfd
|
||||
}
|
||||
|
||||
@ -1343,10 +1343,10 @@ Index: gdb-6.8.50.20090226/gdb/symfile-mem.c
|
||||
|
||||
/* This might change our ideas about frames already looked at. */
|
||||
reinit_frame_cache ();
|
||||
Index: gdb-6.8.50.20090226/gdb/symfile.c
|
||||
Index: gdb-6.8.50.20090302/gdb/symfile.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/symfile.c 2009-02-28 07:31:58.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/symfile.c 2009-02-28 07:39:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/symfile.c 2009-03-07 00:30:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/symfile.c 2009-03-07 00:31:24.000000000 +0100
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "readline/readline.h"
|
||||
#include "gdb_assert.h"
|
||||
@ -1426,95 +1426,10 @@ Index: gdb-6.8.50.20090226/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. */
|
||||
@@ -3644,6 +3655,7 @@ clear_symtab_users (void)
|
||||
breakpoint_re_set ();
|
||||
set_default_breakpoint (0, 0, 0, 0);
|
||||
clear_pc_function_cache ();
|
||||
+ varobj_refresh ();
|
||||
observer_notify_new_objfile (NULL);
|
||||
|
||||
/* Clear globals which might have pointed into a removed objfile.
|
||||
Index: gdb-6.8.50.20090226/gdb/varobj.c
|
||||
Index: gdb-6.8.50.20090302/gdb/target.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/varobj.c 2009-02-27 00:04:32.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/varobj.c 2009-02-28 07:41:30.000000000 +0100
|
||||
@@ -1505,6 +1505,61 @@ varobj_set_visualizer (struct varobj *va
|
||||
#endif
|
||||
}
|
||||
|
||||
+void
|
||||
+varobj_refresh (void)
|
||||
+{
|
||||
+ struct varobj *var;
|
||||
+ struct varobj_root *croot;
|
||||
+ int mycount = rootcount;
|
||||
+ char * name;
|
||||
+
|
||||
+ croot = rootlist;
|
||||
+ while ((croot != NULL) && (mycount > 0))
|
||||
+ {
|
||||
+ var = croot->rootvar;
|
||||
+
|
||||
+ /* Get rid of the memory for the old expression. This also
|
||||
+ leaves var->root->exp == NULL, which is ok for the parsing
|
||||
+ below. */
|
||||
+ free_current_contents (&var->root->exp);
|
||||
+
|
||||
+ value_free (var->value);
|
||||
+ var->type = NULL;
|
||||
+
|
||||
+ name = xstrdup (var->name);
|
||||
+
|
||||
+ /* Reparse the expression. Wrap the call to parse expression,
|
||||
+ so we can return a sensible error. */
|
||||
+ if (!gdb_parse_exp_1 (&name, var->root->valid_block, 0, &var->root->exp))
|
||||
+ {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /* We definitively need to catch errors here.
|
||||
+ If evaluate_expression succeeds we got the value we wanted.
|
||||
+ But if it fails, we still go on with a call to evaluate_type() */
|
||||
+ if (gdb_evaluate_expression (var->root->exp, &var->value))
|
||||
+ {
|
||||
+ /* no error */
|
||||
+ release_value (var->value);
|
||||
+ if (value_lazy (var->value))
|
||||
+ gdb_value_fetch_lazy (var->value);
|
||||
+ }
|
||||
+ else
|
||||
+ var->value = evaluate_type (var->root->exp);
|
||||
+
|
||||
+ var->type = value_type (var->value);
|
||||
+
|
||||
+ mycount--;
|
||||
+ croot = croot->next;
|
||||
+ }
|
||||
+
|
||||
+ if (mycount || (croot != NULL))
|
||||
+ warning
|
||||
+ ("varobj_refresh: assertion failed - wrong tally of root vars (%d:%d)",
|
||||
+ rootcount, mycount);
|
||||
+}
|
||||
+
|
||||
/* Update the values for a variable and its children. This is a
|
||||
two-pronged attack. First, re-parse the value for the root's
|
||||
expression to see if it's changed. Then go all the way
|
||||
Index: gdb-6.8.50.20090226/gdb/varobj.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/varobj.h 2009-02-27 00:04:32.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/varobj.h 2009-02-28 07:39:19.000000000 +0100
|
||||
@@ -163,4 +163,6 @@ varobj_clear_type_visualizers ();
|
||||
extern void
|
||||
varobj_set_visualizer (struct varobj *var, const char *visualizer);
|
||||
|
||||
+extern void varobj_refresh(void);
|
||||
+
|
||||
#endif /* VAROBJ_H */
|
||||
Index: gdb-6.8.50.20090226/gdb/target.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/target.h 2009-02-28 07:32:32.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/target.h 2009-02-28 07:38:59.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/target.h 2009-03-07 00:30:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/target.h 2009-03-07 00:30:12.000000000 +0100
|
||||
@@ -542,7 +542,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. */
|
||||
|
@ -5,10 +5,10 @@ causing: FAIL: gdb.base/unwindonsignal.exp: unwindonsignal, stack unwound
|
||||
resume() -> target_resume() move of clear_inline_frame_state() is for:
|
||||
gdb.mi/mi-nsmoribund.exp
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.c
|
||||
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-bt.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-bt.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -13,10 +13,16 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@ -28,10 +28,10 @@ Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.c
|
||||
|
||||
inline int func1(void)
|
||||
{
|
||||
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.exp
|
||||
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-bt.exp 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.exp 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-bt.exp 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-bt.exp 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -41,18 +41,19 @@ if { [skip_inline_frame_tests] } {
|
||||
return
|
||||
}
|
||||
@ -60,10 +60,10 @@ Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-bt.exp
|
||||
|
||||
gdb_test "continue" ".*set breakpoint 1 here.*" "continue to bar (3)"
|
||||
gdb_test "backtrace" "#0 bar.*#1 .*func1.*#2 .*func2.*#3 .*main.*" \
|
||||
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.c
|
||||
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-cmds.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-cmds.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -13,13 +13,19 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@ -86,10 +86,10 @@ Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.c
|
||||
inline int func1(void)
|
||||
{
|
||||
bar ();
|
||||
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.exp
|
||||
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-cmds.exp 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -45,28 +45,28 @@ if { [skip_inline_frame_tests] } {
|
||||
|
||||
# First, check that the things we expected to be inlined really were,
|
||||
@ -180,10 +180,10 @@ Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-cmds.exp
|
||||
+gdb_test "info frame" "inlined into frame.*" "outer_inline2 inlined"
|
||||
+gdb_test "fini" "" "up from outer_inline2"
|
||||
+gdb_test "info frame" " in main \[^\n\]*\n source language.*" "main not inlined"
|
||||
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.c
|
||||
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-locals.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-locals.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -13,11 +13,16 @@
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@ -203,10 +203,10 @@ Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.c
|
||||
|
||||
inline int func1(int arg1)
|
||||
{
|
||||
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.exp
|
||||
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-locals.exp 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.exp 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-locals.exp 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-locals.exp 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -43,8 +43,8 @@ if { [skip_inline_var_tests] } {
|
||||
|
||||
set no_frames [skip_inline_frame_tests]
|
||||
@ -236,10 +236,10 @@ Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-locals.exp
|
||||
+ setup_kfail *-*-* "gcc/debug.optimization"
|
||||
+}
|
||||
gdb_test "print array\[0\]" "\\\$$decimal = 184" "print local (3)"
|
||||
Index: gdb-6.8.50.20090226/gdb/frame.c
|
||||
Index: gdb-6.8.50.20090302/gdb/frame.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/frame.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/frame.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/frame.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/frame.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -269,7 +269,7 @@ fprint_frame (struct ui_file *file, stru
|
||||
static struct frame_info *
|
||||
skip_inlined_frames (struct frame_info *frame)
|
||||
@ -276,10 +276,10 @@ Index: gdb-6.8.50.20090226/gdb/frame.c
|
||||
{
|
||||
sal->symtab = SYMBOL_SYMTAB (sym);
|
||||
sal->line = SYMBOL_LINE (sym);
|
||||
Index: gdb-6.8.50.20090226/gdb/breakpoint.c
|
||||
Index: gdb-6.8.50.20090302/gdb/breakpoint.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/breakpoint.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/breakpoint.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/breakpoint.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/breakpoint.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -57,6 +57,7 @@
|
||||
#include "top.h"
|
||||
#include "wrapper.h"
|
||||
@ -343,10 +343,10 @@ Index: gdb-6.8.50.20090226/gdb/breakpoint.c
|
||||
|
||||
b = set_raw_breakpoint (sal, type);
|
||||
b->enable_state = bp_enabled;
|
||||
Index: gdb-6.8.50.20090226/gdb/inline-frame.c
|
||||
Index: gdb-6.8.50.20090302/gdb/inline-frame.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/inline-frame.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/inline-frame.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/inline-frame.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/inline-frame.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -183,6 +183,12 @@ inline_frame_sniffer (const struct frame
|
||||
if (frame_block == NULL)
|
||||
return 0;
|
||||
@ -423,10 +423,10 @@ Index: gdb-6.8.50.20090226/gdb/inline-frame.c
|
||||
/* Return the number of hidden functions inlined into the current
|
||||
frame. */
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-markers.c
|
||||
Index: gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/testsuite/gdb.opt/inline-markers.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-markers.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/testsuite/gdb.opt/inline-markers.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/testsuite/gdb.opt/inline-markers.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -15,11 +15,6 @@
|
||||
|
||||
extern int x, y;
|
||||
@ -439,10 +439,10 @@ Index: gdb-6.8.50.20090226/gdb/testsuite/gdb.opt/inline-markers.c
|
||||
void marker(void)
|
||||
{
|
||||
x += y; /* set breakpoint 2 here */
|
||||
Index: gdb-6.8.50.20090226/gdb/gdbthread.h
|
||||
Index: gdb-6.8.50.20090302/gdb/gdbthread.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/gdbthread.h 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/gdbthread.h 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/gdbthread.h 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/gdbthread.h 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -180,6 +180,12 @@ struct thread_info
|
||||
|
||||
/* Private data used by the target vector implementation. */
|
||||
@ -456,10 +456,10 @@ Index: gdb-6.8.50.20090226/gdb/gdbthread.h
|
||||
};
|
||||
|
||||
/* Create an empty thread list, or empty the existing one. */
|
||||
Index: gdb-6.8.50.20090226/gdb/infcmd.c
|
||||
Index: gdb-6.8.50.20090302/gdb/infcmd.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/infcmd.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/infcmd.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/infcmd.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/infcmd.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -1391,11 +1391,11 @@ finish_command_continuation (void *arg)
|
||||
struct type *value_type;
|
||||
|
||||
@ -600,10 +600,10 @@ Index: gdb-6.8.50.20090226/gdb/infcmd.c
|
||||
}
|
||||
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/infrun.c
|
||||
Index: gdb-6.8.50.20090302/gdb/infrun.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/infrun.c 2009-02-28 07:37:36.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/infrun.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/infrun.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/infrun.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -1152,8 +1152,6 @@ a command like `return' or `jump' to con
|
||||
step = 0;
|
||||
}
|
||||
@ -622,10 +622,10 @@ Index: gdb-6.8.50.20090226/gdb/infrun.c
|
||||
}
|
||||
|
||||
static int
|
||||
Index: gdb-6.8.50.20090226/gdb/target.c
|
||||
Index: gdb-6.8.50.20090302/gdb/target.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/target.c 2009-02-28 07:31:48.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/target.c 2009-02-28 07:38:36.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/target.c 2009-03-06 19:07:26.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/target.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "target-descriptions.h"
|
||||
#include "gdbthread.h"
|
||||
@ -642,10 +642,10 @@ Index: gdb-6.8.50.20090226/gdb/target.c
|
||||
dcache_invalidate (target_dcache);
|
||||
|
||||
for (t = current_target.beneath; t != NULL; t = t->beneath)
|
||||
Index: gdb-6.8.50.20090226/gdb/inline-frame.h
|
||||
Index: gdb-6.8.50.20090302/gdb/inline-frame.h
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/inline-frame.h 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/inline-frame.h 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/inline-frame.h 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/inline-frame.h 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -43,6 +43,10 @@ void clear_inline_frame_state (ptid_t pt
|
||||
|
||||
void step_into_inline_frame (ptid_t ptid);
|
||||
@ -657,10 +657,10 @@ Index: gdb-6.8.50.20090226/gdb/inline-frame.h
|
||||
/* Return the number of hidden functions inlined into the current
|
||||
frame. */
|
||||
|
||||
Index: gdb-6.8.50.20090226/gdb/infcall.c
|
||||
Index: gdb-6.8.50.20090302/gdb/infcall.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090226.orig/gdb/infcall.c 2009-02-28 07:34:09.000000000 +0100
|
||||
+++ gdb-6.8.50.20090226/gdb/infcall.c 2009-02-28 07:37:54.000000000 +0100
|
||||
--- gdb-6.8.50.20090302.orig/gdb/infcall.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/infcall.c 2009-03-06 19:07:30.000000000 +0100
|
||||
@@ -898,8 +898,15 @@ The program being debugged exited while
|
||||
|
||||
if (unwind_on_signal_p)
|
||||
@ -679,3 +679,35 @@ Index: gdb-6.8.50.20090226/gdb/infcall.c
|
||||
|
||||
/* FIXME: Insert a bunch of wrap_here; name can be very
|
||||
long if it's a C++ name with arguments and stuff. */
|
||||
Index: gdb-6.8.50.20090302/gdb/dwarf2read.c
|
||||
===================================================================
|
||||
--- gdb-6.8.50.20090302.orig/gdb/dwarf2read.c 2009-03-06 19:07:30.000000000 +0100
|
||||
+++ gdb-6.8.50.20090302/gdb/dwarf2read.c 2009-03-06 19:07:40.000000000 +0100
|
||||
@@ -3463,6 +3463,7 @@ read_func_scope (struct die_info *die, s
|
||||
unsigned die_children = 0;
|
||||
struct attribute *call_line, *call_file;
|
||||
int inlined_func = (die->tag == DW_TAG_inlined_subroutine);
|
||||
+ struct type *type;
|
||||
|
||||
if (inlined_func)
|
||||
{
|
||||
@@ -3504,7 +3505,10 @@ read_func_scope (struct die_info *die, s
|
||||
add_to_cu_func_list (name, lowpc, highpc, cu);
|
||||
|
||||
new = push_context (0, lowpc);
|
||||
- new->name = new_symbol (die, read_type_die (die, cu), cu);
|
||||
+ type = read_type_die (die, cu);
|
||||
+ gdb_assert (type != NULL);
|
||||
+ new->name = new_symbol (die, type, cu);
|
||||
+ gdb_assert (TYPE_CODE (SYMBOL_TYPE (new->name)) == TYPE_CODE_FUNC);
|
||||
|
||||
/* If there is a location expression for DW_AT_frame_base, record
|
||||
it. */
|
||||
@@ -8746,6 +8750,7 @@ read_type_die (struct die_info *die, str
|
||||
break;
|
||||
case DW_TAG_subprogram:
|
||||
case DW_TAG_subroutine_type:
|
||||
+ case DW_TAG_inlined_subroutine:
|
||||
this_type = read_subroutine_type (die, cu);
|
||||
break;
|
||||
case DW_TAG_array_type:
|
||||
|
1181
gdb-archer.patch
1181
gdb-archer.patch
File diff suppressed because it is too large
Load Diff
26
gdb.spec
26
gdb.spec
@ -13,7 +13,7 @@ Version: 6.8.50.20090302
|
||||
|
||||
# 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.
|
||||
Release: 2%{?_with_upstream:.upstream}%{?dist}
|
||||
Release: 3%{?_with_upstream:.upstream}%{?dist}
|
||||
|
||||
License: GPLv3+
|
||||
Group: Development/Debuggers
|
||||
@ -386,21 +386,23 @@ BuildRequires: python-devel
|
||||
%if 0%{?_with_testsuite:1}
|
||||
BuildRequires: sharutils dejagnu
|
||||
# gcc-objc++ is not covered by the GDB testsuite.
|
||||
BuildRequires: gcc gcc-c++ gcc-gfortran gcc-java gcc-objc fpc
|
||||
BuildRequires: gcc gcc-c++ gcc-gfortran gcc-java gcc-objc fpc glibc-static
|
||||
# Ensure the devel libraries are installed for both multilib arches.
|
||||
%define multilib_64_archs sparc64 ppc64 s390x x86_64
|
||||
# Copied from gcc-4.1.2-32
|
||||
%ifarch %{ix86} x86_64 ia64 ppc alpha
|
||||
BuildRequires: gcc-gnat
|
||||
%ifarch %{multilib_64_archs} ppc
|
||||
BuildRequires: %{_exec_prefix}/lib64/libgnat-4.3.so %{_exec_prefix}/lib/libgnat-4.3.so
|
||||
BuildRequires: %{_exec_prefix}/lib64/libgnat-4.4.so %{_exec_prefix}/lib/libgnat-4.4.so
|
||||
%endif
|
||||
%endif
|
||||
%ifarch %{multilib_64_archs} sparc sparcv9 ppc
|
||||
BuildRequires: /lib/libc.so.6 %{_exec_prefix}/lib/libc.so /lib64/libc.so.6 %{_exec_prefix}/lib64/libc.so
|
||||
BuildRequires: /lib/libgcc_s.so.1 /lib64/libgcc_s.so.1
|
||||
BuildRequires: %{_exec_prefix}/lib/libstdc++.so.6 %{_exec_prefix}/lib64/libstdc++.so.6
|
||||
BuildRequires: %{_exec_prefix}/lib64/libgcj.so.9 %{_exec_prefix}/lib/libgcj.so.9
|
||||
BuildRequires: %{_exec_prefix}/lib64/libgcj.so.10 %{_exec_prefix}/lib/libgcj.so.10
|
||||
# multilib glibc-static is open Bug 488472:
|
||||
#BuildRequires: %{_exec_prefix}/lib64/libc.a %{_exec_prefix}/lib/libc.a
|
||||
# for gcc-java:
|
||||
BuildRequires: %{_exec_prefix}/lib64/libz.so %{_exec_prefix}/lib/libz.so
|
||||
%endif
|
||||
@ -612,7 +614,8 @@ CFLAGS="$CFLAGS -O0 -ggdb2"
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--mandir=%{_mandir} \
|
||||
--infodir=%{_infodir} \
|
||||
--with-gdb-datadir=%{_datadir}/%{name} \
|
||||
--with-gdb-datadir=%{_datadir}/gdb \
|
||||
--with-pythondir=%{python_sitelib} \
|
||||
--enable-gdb-build-warnings=,-Wno-unused \
|
||||
%ifnarch %{ix86} alpha ia64 ppc s390 s390x x86_64 ppc64 sparcv9 sparc64
|
||||
--disable-werror \
|
||||
@ -755,6 +758,9 @@ ln -sf gdb $RPM_BUILD_ROOT%{_prefix}/bin/gdbtui
|
||||
cmp $RPM_BUILD_ROOT%{_mandir}/*/gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1
|
||||
ln -sf gdb.1 $RPM_BUILD_ROOT%{_mandir}/*/gdbtui.1
|
||||
|
||||
# A part of the libstdc++ rpm.
|
||||
rm -rf $RPM_BUILD_ROOT%{python_sitelib}/gdb/libstdcxx
|
||||
|
||||
# Remove the files that are part of a gdb build but that are owned and
|
||||
# provided by other packages.
|
||||
# These are part of binutils
|
||||
@ -830,11 +836,21 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sat Mar 7 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-3
|
||||
- Archer update to the snapshot: 6cf16c0711e844094ab694b3d929f7bd30b49f61
|
||||
- Fix crash on the inlined functions support.
|
||||
- Fix crash from the PIE support, its varobj_refresh() was called only before
|
||||
varobj_invalidate() which is sufficient.
|
||||
- Fix BuildRequires for the `--with testsuite' runs.
|
||||
- Use the newly introduced `--with-pythondir' option.
|
||||
- Remove libstdcxx [python] pretty printers (as included in libstdc++ rpm now).
|
||||
|
||||
* Fri Mar 06 2009 Jesse Keating <jkeating@redhat.com> - 6.8.50.20090302-2
|
||||
- Rebuild for new rpm libs
|
||||
|
||||
* Mon Mar 2 2009 Jan Kratochvil <jan.kratochvil@redhat.com> - 6.8.50.20090302-1
|
||||
- Include the Archer Project: http://sourceware.org/gdb/wiki/ProjectArcher
|
||||
snapshot: 8cc3753a9aad85bf53bef54c04334c60d16cb251
|
||||
* [python] Python scripting support: http://sourceware.org/gdb/wiki/PythonGdb
|
||||
* [catch-syscall] Trap and display syscalls.
|
||||
* [delayed-symfile] Improve startup performance by lazily read psymtabs.
|
||||
|
Loading…
Reference in New Issue
Block a user