- 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:
Jan Kratochvil 2009-03-07 00:32:30 +00:00
parent 0d29c1b6dd
commit 8dadf56185
4 changed files with 841 additions and 673 deletions

View File

@ -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. */

View File

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

File diff suppressed because it is too large Load Diff

View File

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