Backup of a draft Archer port - before importing

archer-keiths-expr-cumulative.
This commit is contained in:
Jan Kratochvil 2009-03-02 00:11:35 +00:00
commit 159237942c
18 changed files with 36165 additions and 5674 deletions

View file

@ -26,10 +26,10 @@
Fix scan_dyntag() for binaries provided by valgrind (BZ 460319).
Index: gdb-6.8.50.20090209/gdb/amd64-tdep.c
Index: gdb-6.8.50.20090226/gdb/amd64-tdep.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/amd64-tdep.c 2009-02-09 16:02:28.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/amd64-tdep.c 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -36,6 +36,7 @@
#include "regcache.h"
#include "regset.h"
@ -38,7 +38,7 @@ Index: gdb-6.8.50.20090209/gdb/amd64-tdep.c
#include "gdb_assert.h"
@@ -1597,16 +1598,28 @@ amd64_analyze_stack_align (CORE_ADDR pc,
@@ -1586,16 +1587,28 @@ amd64_analyze_stack_align (CORE_ADDR pc,
Any function that doesn't start with this sequence will be assumed
to have no prologue and thus no valid frame pointer in %rbp. */
@ -71,7 +71,7 @@ Index: gdb-6.8.50.20090209/gdb/amd64-tdep.c
pc = amd64_analyze_stack_align (pc, current_pc, cache);
@@ -1621,18 +1634,57 @@ amd64_analyze_prologue (CORE_ADDR pc, CO
@@ -1610,18 +1623,57 @@ amd64_analyze_prologue (CORE_ADDR pc, CO
/* If that's all, return now. */
if (current_pc <= pc + 1)
@ -132,13 +132,13 @@ Index: gdb-6.8.50.20090209/gdb/amd64-tdep.c
return pc;
}
Index: gdb-6.8.50.20090209/gdb/auxv.c
Index: gdb-6.8.50.20090226/gdb/auxv.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/auxv.c 2009-01-03 06:57:50.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/auxv.c 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -81,7 +81,7 @@ procfs_xfer_auxv (struct target_ops *ops
Return 1 if an entry was read into *TYPEP and *VALP. */
int
static int
default_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
- gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
+ gdb_byte *endptr, ULONGEST *typep, CORE_ADDR *valp)
@ -215,7 +215,7 @@ Index: gdb-6.8.50.20090209/gdb/auxv.c
switch (flavor)
{
case dec:
@@ -253,7 +255,7 @@ fprint_target_auxv (struct ui_file *file
@@ -254,7 +256,7 @@ fprint_target_auxv (struct ui_file *file
break;
}
++ents;
@ -224,10 +224,10 @@ Index: gdb-6.8.50.20090209/gdb/auxv.c
break;
}
Index: gdb-6.8.50.20090209/gdb/auxv.h
Index: gdb-6.8.50.20090226/gdb/auxv.h
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/auxv.h 2009-01-03 06:57:50.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/auxv.h 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -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,11 +245,11 @@ Index: gdb-6.8.50.20090209/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.20090209/gdb/breakpoint.c
Index: gdb-6.8.50.20090226/gdb/breakpoint.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/breakpoint.c 2009-02-09 16:12:23.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/breakpoint.c 2009-02-09 16:21:55.000000000 +0100
@@ -3894,7 +3894,8 @@ describe_other_breakpoints (CORE_ADDR pc
--- 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
@@ -3920,7 +3920,8 @@ describe_other_breakpoints (CORE_ADDR pc
printf_filtered (" (thread %d)", b->thread);
printf_filtered ("%s%s ",
((b->enable_state == bp_disabled ||
@ -259,7 +259,7 @@ Index: gdb-6.8.50.20090209/gdb/breakpoint.c
? " (disabled)"
: b->enable_state == bp_permanent
? " (permanent)"
@@ -4725,6 +4726,61 @@ create_catchpoint (int tempflag, char *c
@@ -5008,6 +5009,61 @@ create_catchpoint (int tempflag, char *c
return b;
}
@ -321,11 +321,11 @@ Index: gdb-6.8.50.20090209/gdb/breakpoint.c
static void
create_fork_vfork_event_catchpoint (int tempflag, char *cond_string,
struct breakpoint_ops *ops)
Index: gdb-6.8.50.20090209/gdb/breakpoint.h
Index: gdb-6.8.50.20090226/gdb/breakpoint.h
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/breakpoint.h 2009-01-30 19:28:00.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/breakpoint.h 2009-02-09 16:21:55.000000000 +0100
@@ -126,6 +126,7 @@ enum enable_state
--- 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
@@ -127,6 +127,7 @@ enum enable_state
automatically enabled and reset when the call
"lands" (either completes, or stops at another
eventpoint). */
@ -333,7 +333,7 @@ Index: gdb-6.8.50.20090209/gdb/breakpoint.h
bp_permanent /* There is a breakpoint instruction hard-wired into
the target's code. Don't try to write another
breakpoint instruction on top of it, or restore
@@ -819,6 +820,10 @@ extern void remove_thread_event_breakpoi
@@ -847,6 +848,10 @@ extern void remove_thread_event_breakpoi
extern void disable_breakpoints_in_shlibs (void);
@ -344,11 +344,11 @@ Index: gdb-6.8.50.20090209/gdb/breakpoint.h
/* This function returns TRUE if ep is a catchpoint. */
extern int ep_is_catchpoint (struct breakpoint *);
Index: gdb-6.8.50.20090209/gdb/dwarf2read.c
Index: gdb-6.8.50.20090226/gdb/dwarf2read.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/dwarf2read.c 2009-02-09 16:12:23.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/dwarf2read.c 2009-02-09 16:21:55.000000000 +0100
@@ -1296,7 +1296,7 @@ dwarf2_build_psymtabs (struct objfile *o
--- 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
else
dwarf2_per_objfile->loc_buffer = NULL;
@ -357,10 +357,10 @@ Index: gdb-6.8.50.20090209/gdb/dwarf2read.c
|| (objfile->global_psymbols.size == 0
&& objfile->static_psymbols.size == 0))
{
Index: gdb-6.8.50.20090209/gdb/elfread.c
Index: gdb-6.8.50.20090226/gdb/elfread.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/elfread.c 2009-01-03 06:57:51.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/elfread.c 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -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.20090209/gdb/elfread.c
{
init_psymbol_list (objfile, 0);
mainline = 0;
Index: gdb-6.8.50.20090209/gdb/infrun.c
Index: gdb-6.8.50.20090226/gdb/infrun.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/infrun.c 2009-02-09 16:12:23.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/infrun.c 2009-02-09 16:21:55.000000000 +0100
@@ -3278,6 +3278,11 @@ infrun: BPSTAT_WHAT_SET_LONGJMP_RESUME (
--- 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 (
#endif
target_terminal_inferior ();
@ -386,10 +386,10 @@ Index: gdb-6.8.50.20090209/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.20090209/gdb/objfiles.c
Index: gdb-6.8.50.20090226/gdb/objfiles.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/objfiles.c 2009-01-15 17:35:22.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/objfiles.c 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -51,6 +51,9 @@
#include "arch-utils.h"
#include "exec.h"
@ -421,7 +421,7 @@ Index: gdb-6.8.50.20090209/gdb/objfiles.c
}
/* Create the terminating entry of OBJFILE's minimal symbol table.
@@ -458,6 +458,9 @@ free_objfile (struct objfile *objfile)
@@ -443,6 +458,9 @@ free_objfile (struct objfile *objfile)
if (objfile == rt_common_objfile)
rt_common_objfile = NULL;
@ -431,10 +431,10 @@ Index: gdb-6.8.50.20090209/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.20090209/gdb/solib-svr4.c
Index: gdb-6.8.50.20090226/gdb/solib-svr4.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/solib-svr4.c 2009-02-09 16:02:35.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/solib-svr4.c 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -45,6 +45,7 @@
#include "exec.h"
#include "auxv.h"
@ -1116,11 +1116,11 @@ Index: gdb-6.8.50.20090209/gdb/solib-svr4.c
+ add_info ("linkmap", info_linkmap_command,
+ "Display the inferior's linkmap.");
}
Index: gdb-6.8.50.20090209/gdb/solib.c
Index: gdb-6.8.50.20090226/gdb/solib.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/solib.c 2009-01-15 17:35:22.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/solib.c 2009-02-09 16:26:02.000000000 +0100
@@ -80,6 +80,8 @@ set_solib_ops (struct gdbarch *gdbarch,
--- 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
@@ -81,6 +81,8 @@ set_solib_ops (struct gdbarch *gdbarch,
/* external data declarations */
@ -1129,7 +1129,7 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
/* FIXME: gdbarch needs to control this variable, or else every
configuration needs to call set_solib_ops. */
struct target_so_ops *current_target_so_ops;
@@ -103,6 +105,8 @@ The search path for loading non-absolute
@@ -104,6 +106,8 @@ The search path for loading non-absolute
value);
}
@ -1138,7 +1138,7 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
/*
GLOBAL FUNCTION
@@ -425,10 +429,23 @@ free_so (struct so_list *so)
@@ -426,10 +430,23 @@ free_so (struct so_list *so)
if (so->abfd)
{
@ -1166,7 +1166,7 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
}
if (bfd_filename)
@@ -459,15 +461,40 @@ symbol_add_stub (void *arg)
@@ -460,15 +477,40 @@ symbol_add_stub (void *arg)
/* Have we already loaded this shared object? */
ALL_OBJFILES (so->objfile)
{
@ -1210,7 +1210,7 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
free_section_addr_info (sap);
return (1);
@@ -599,6 +626,10 @@ update_solib_list (int from_tty, struct
@@ -600,6 +642,10 @@ update_solib_list (int from_tty, struct
}
else
{
@ -1221,7 +1221,7 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
if (! strcmp (gdb->so_original_name, i->so_original_name))
break;
}
@@ -653,28 +684,7 @@ update_solib_list (int from_tty, struct
@@ -654,28 +700,7 @@ update_solib_list (int from_tty, struct
/* Fill in the rest of each of the `struct so_list' nodes. */
for (i = inferior; i; i = i->next)
{
@ -1251,7 +1251,7 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
/* Notify any observer that the shared object has been
loaded now that we've added it to GDB's tables. */
@@ -770,6 +780,41 @@ solib_add (char *pattern, int from_tty,
@@ -771,6 +796,41 @@ solib_add (char *pattern, int from_tty,
}
}
@ -1293,7 +1293,7 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
/*
@@ -1087,4 +1132,12 @@ This takes precedence over the environme
@@ -1089,4 +1149,12 @@ This takes precedence over the environme
reload_shared_libraries,
show_solib_search_path,
&setlist, &showlist);
@ -1306,10 +1306,10 @@ Index: gdb-6.8.50.20090209/gdb/solib.c
+ NULL, NULL,
+ &setdebuglist, &showdebuglist);
}
Index: gdb-6.8.50.20090209/gdb/solist.h
Index: gdb-6.8.50.20090226/gdb/solist.h
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/solist.h 2009-02-04 09:42:11.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/solist.h 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -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.20090209/gdb/solist.h
+extern int debug_solib;
+
#endif
Index: gdb-6.8.50.20090209/gdb/symfile-mem.c
Index: gdb-6.8.50.20090226/gdb/symfile-mem.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/symfile-mem.c 2009-02-09 15:49:25.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/symfile-mem.c 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -116,7 +116,7 @@ symbol_file_add_from_memory (struct bfd
}
@ -1343,10 +1343,10 @@ Index: gdb-6.8.50.20090209/gdb/symfile-mem.c
/* This might change our ideas about frames already looked at. */
reinit_frame_cache ();
Index: gdb-6.8.50.20090209/gdb/symfile.c
Index: gdb-6.8.50.20090226/gdb/symfile.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/symfile.c 2009-02-09 16:03:45.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/symfile.c 2009-02-09 16:21:55.000000000 +0100
--- 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
@@ -47,6 +47,7 @@
#include "readline/readline.h"
#include "gdb_assert.h"
@ -1397,16 +1397,16 @@ Index: gdb-6.8.50.20090209/gdb/symfile.c
/* We're done reading the symbol file; finish off complaints. */
clear_complaints (&symfile_complaints, 0, verbo);
@@ -970,7 +975,7 @@ symbol_file_add_with_addrs_or_offsets (b
@@ -980,7 +985,7 @@ symbol_file_add_with_addrs_or_offsets (b
/* Give user a chance to burp if we'd be
interactively wiping out any existing symbols. */
if ((have_full_symbols () || have_partial_symbols ())
- && mainline
+ && (mainline == 1)
- if (mainline
+ if (mainline == 1
&& from_tty
&& !query ("Load new symbol table from \"%s\"? ", name))
error (_("Not confirmed."));
@@ -1161,6 +1166,10 @@ symbol_file_clear (int from_tty)
&& (have_full_symbols () || have_partial_symbols ())
&& !query (_("Load new symbol table from \"%s\"? "), name))
@@ -1175,6 +1180,10 @@ symbol_file_clear (int from_tty)
symfile_objfile->name)
: !query (_("Discard symbol table? "))))
error (_("Not confirmed."));
@ -1417,7 +1417,7 @@ Index: gdb-6.8.50.20090209/gdb/symfile.c
free_all_objfiles ();
/* solib descriptors may have handles to objfiles. Since their
@@ -3260,6 +3269,8 @@ reread_symbols (void)
@@ -3275,6 +3284,8 @@ reread_symbols (void)
/* Discard cleanups as symbol reading was successful. */
discard_cleanups (old_cleanups);
@ -1426,7 +1426,7 @@ Index: gdb-6.8.50.20090209/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. */
@@ -3629,6 +3640,7 @@ clear_symtab_users (void)
@@ -3644,6 +3655,7 @@ clear_symtab_users (void)
breakpoint_re_set ();
set_default_breakpoint (0, 0, 0, 0);
clear_pc_function_cache ();
@ -1434,12 +1434,12 @@ Index: gdb-6.8.50.20090209/gdb/symfile.c
observer_notify_new_objfile (NULL);
/* Clear globals which might have pointed into a removed objfile.
Index: gdb-6.8.50.20090209/gdb/varobj.c
Index: gdb-6.8.50.20090226/gdb/varobj.c
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/varobj.c 2009-02-05 18:28:21.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/varobj.c 2009-02-09 16:21:55.000000000 +0100
@@ -1123,6 +1123,62 @@ install_new_value (struct varobj *var, s
return changed;
--- 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
@ -1496,27 +1496,26 @@ Index: gdb-6.8.50.20090209/gdb/varobj.c
+ ("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.20090209/gdb/varobj.h
Index: gdb-6.8.50.20090226/gdb/varobj.h
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/varobj.h 2009-01-03 06:57:54.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/varobj.h 2009-02-09 16:21:55.000000000 +0100
@@ -141,4 +141,6 @@ extern int varobj_editable_p (struct var
extern int varobj_floating_p (struct varobj *var);
--- 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.20090209/gdb/target.h
Index: gdb-6.8.50.20090226/gdb/target.h
===================================================================
--- gdb-6.8.50.20090209.orig/gdb/target.h 2009-02-09 16:02:42.000000000 +0100
+++ gdb-6.8.50.20090209/gdb/target.h 2009-02-09 16:21:55.000000000 +0100
@@ -524,7 +524,7 @@ struct target_ops
--- 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
@@ -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. */
int (*to_auxv_parse) (struct target_ops *ops, gdb_byte **readptr,