- Upgrade to GDB 6.6. Drop redundant patches, forward-port remaining ones.

- Backported post gdb-6.6 release ia64 unwinding fixups.
- Testcase for exec() from threaded program (BZ 202689).
- Resolves: rhbz#221125
- Related: rhbz#202689
This commit is contained in:
Jan Kratochvil 2007-01-21 01:53:01 +00:00
commit aefb0e1e23
19 changed files with 785 additions and 1466 deletions

View file

@ -1,8 +1,8 @@
Index: gdb-6.5/gdb/configure
Index: gdb-6.6/gdb/configure
===================================================================
--- gdb-6.5.orig/gdb/configure 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/configure 2006-07-11 15:01:23.000000000 -0300
@@ -20125,7 +20125,8 @@ fi
--- gdb-6.6.orig/gdb/configure
+++ gdb-6.6/gdb/configure
@@ -20991,7 +20991,8 @@ fi
# gdb/doc/gdbint.texinfo.
build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
-Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
@ -12,10 +12,10 @@ Index: gdb-6.5/gdb/configure
# GCC supports -Wuninitialized only with -O or -On, n != 0.
if test x${CFLAGS+set} = xset; then
Index: gdb-6.5/gdb/mi/mi-cmd-env.c
Index: gdb-6.6/gdb/mi/mi-cmd-env.c
===================================================================
--- gdb-6.5.orig/gdb/mi/mi-cmd-env.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/mi/mi-cmd-env.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/mi/mi-cmd-env.c
+++ gdb-6.6/gdb/mi/mi-cmd-env.c
@@ -126,7 +126,7 @@ mi_cmd_env_path (char *command, char **a
static struct mi_opt opts[] =
{
@ -34,10 +34,10 @@ Index: gdb-6.5/gdb/mi/mi-cmd-env.c
};
dont_repeat ();
Index: gdb-6.5/gdb/mi/mi-getopt.c
Index: gdb-6.6/gdb/mi/mi-getopt.c
===================================================================
--- gdb-6.5.orig/gdb/mi/mi-getopt.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/mi/mi-getopt.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/mi/mi-getopt.c
+++ gdb-6.6/gdb/mi/mi-getopt.c
@@ -82,7 +82,7 @@ mi_valid_noargs (const char *prefix, int
char *optarg;
static struct mi_opt opts[] =
@ -47,10 +47,10 @@ Index: gdb-6.5/gdb/mi/mi-getopt.c
};
if (mi_getopt (prefix, argc, argv, opts, &optind, &optarg) == -1)
Index: gdb-6.5/gdb/mi/mi-cmd-break.c
Index: gdb-6.6/gdb/mi/mi-cmd-break.c
===================================================================
--- gdb-6.5.orig/gdb/mi/mi-cmd-break.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/mi/mi-cmd-break.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/mi/mi-cmd-break.c
+++ gdb-6.6/gdb/mi/mi-cmd-break.c
@@ -90,7 +90,7 @@ mi_cmd_break_insert (char *command, char
{"c", CONDITION_OPT, 1},
{"i", IGNORE_COUNT_OPT, 1},
@ -69,10 +69,10 @@ Index: gdb-6.5/gdb/mi/mi-cmd-break.c
};
/* Parse arguments. */
Index: gdb-6.5/gdb/mi/mi-cmd-disas.c
Index: gdb-6.6/gdb/mi/mi-cmd-disas.c
===================================================================
--- gdb-6.5.orig/gdb/mi/mi-cmd-disas.c 2006-07-11 15:01:22.000000000 -0300
+++ gdb-6.5/gdb/mi/mi-cmd-disas.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/mi/mi-cmd-disas.c
+++ gdb-6.6/gdb/mi/mi-cmd-disas.c
@@ -84,7 +84,7 @@ mi_cmd_disassemble (char *command, char
{"n", NUM_OPT, 1},
{"s", START_OPT, 1},
@ -82,10 +82,10 @@ Index: gdb-6.5/gdb/mi/mi-cmd-disas.c
};
/* Get the options with their arguments. Keep track of what we
Index: gdb-6.5/gdb/mi/mi-main.c
Index: gdb-6.6/gdb/mi/mi-main.c
===================================================================
--- gdb-6.5.orig/gdb/mi/mi-main.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/mi/mi-main.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/mi/mi-main.c
+++ gdb-6.6/gdb/mi/mi-main.c
@@ -773,7 +773,7 @@ mi_cmd_data_read_memory (char *command,
static struct mi_opt opts[] =
{
@ -95,7 +95,7 @@ Index: gdb-6.5/gdb/mi/mi-main.c
};
while (1)
@@ -975,7 +975,7 @@ mi_cmd_data_write_memory (char *command,
@@ -973,7 +973,7 @@ mi_cmd_data_write_memory (char *command,
static struct mi_opt opts[] =
{
{"o", OFFSET_OPT, 1},
@ -104,10 +104,10 @@ Index: gdb-6.5/gdb/mi/mi-main.c
};
while (1)
Index: gdb-6.5/gdb/p-valprint.c
Index: gdb-6.6/gdb/p-valprint.c
===================================================================
--- gdb-6.5.orig/gdb/p-valprint.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/p-valprint.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/p-valprint.c
+++ gdb-6.6/gdb/p-valprint.c
@@ -753,7 +753,7 @@ pascal_object_print_value_fields (struct
int dont_print_statmem)
{
@ -126,10 +126,10 @@ Index: gdb-6.5/gdb/p-valprint.c
struct type **last_dont_print
= (struct type **) obstack_next_free (&dont_print_vb_obstack);
int i, n_baseclasses = TYPE_N_BASECLASSES (type);
Index: gdb-6.5/gdb/cp-valprint.c
Index: gdb-6.6/gdb/cp-valprint.c
===================================================================
--- gdb-6.5.orig/gdb/cp-valprint.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/cp-valprint.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/cp-valprint.c
+++ gdb-6.6/gdb/cp-valprint.c
@@ -265,7 +265,7 @@ cp_print_value_fields (struct type *type
struct type **dont_print_vb,int dont_print_statmem)
{
@ -148,10 +148,10 @@ Index: gdb-6.5/gdb/cp-valprint.c
struct type **last_dont_print
= (struct type **) obstack_next_free (&dont_print_vb_obstack);
int i, n_baseclasses = TYPE_N_BASECLASSES (type);
Index: gdb-6.5/gdb/tui/tui-layout.c
Index: gdb-6.6/gdb/tui/tui-layout.c
===================================================================
--- gdb-6.5.orig/gdb/tui/tui-layout.c 2006-07-11 15:01:22.000000000 -0300
+++ gdb-6.5/gdb/tui/tui-layout.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/tui/tui-layout.c
+++ gdb-6.6/gdb/tui/tui-layout.c
@@ -755,7 +755,7 @@ show_source_disasm_command (void)
if (TUI_DISASM_WIN == NULL)
{
@ -188,20 +188,20 @@ Index: gdb-6.5/gdb/tui/tui-layout.c
LOCATOR_WIN,
2 /* 1 */ ,
tui_term_width (),
Index: gdb-6.5/gdb/testsuite/gdb.base/move-dir.h
Index: gdb-6.6/gdb/testsuite/gdb.base/move-dir.h
===================================================================
--- gdb-6.5.orig/gdb/testsuite/gdb.base/move-dir.h 2006-07-11 15:01:23.000000000 -0300
+++ gdb-6.5/gdb/testsuite/gdb.base/move-dir.h 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/testsuite/gdb.base/move-dir.h
+++ gdb-6.6/gdb/testsuite/gdb.base/move-dir.h
@@ -1,4 +1,4 @@
-#include <stdlib.h>
+#include <stdio.h>
void other() {
const char* ostring = "other";
Index: gdb-6.5/gdb/testsuite/gdb.base/sigrepeat.c
Index: gdb-6.6/gdb/testsuite/gdb.base/sigrepeat.c
===================================================================
--- gdb-6.5.orig/gdb/testsuite/gdb.base/sigrepeat.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/testsuite/gdb.base/sigrepeat.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/testsuite/gdb.base/sigrepeat.c
+++ gdb-6.6/gdb/testsuite/gdb.base/sigrepeat.c
@@ -22,6 +22,7 @@
#include <stdlib.h>
#include <string.h>
@ -210,10 +210,10 @@ Index: gdb-6.5/gdb/testsuite/gdb.base/sigrepeat.c
#include <sys/time.h>
static volatile int done[2];
Index: gdb-6.5/gdb/s390-tdep.c
Index: gdb-6.6/gdb/s390-tdep.c
===================================================================
--- gdb-6.5.orig/gdb/s390-tdep.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/s390-tdep.c 2006-07-11 15:02:37.000000000 -0300
--- gdb-6.6.orig/gdb/s390-tdep.c
+++ gdb-6.6/gdb/s390-tdep.c
@@ -2277,6 +2277,9 @@ s390_return_value (struct gdbarch *gdbar
case RETURN_VALUE_STRUCT_CONVENTION:
error (_("Cannot set function return value."));
@ -234,27 +234,27 @@ Index: gdb-6.5/gdb/s390-tdep.c
}
}
Index: gdb-6.5/gdb/remote.c
Index: gdb-6.6/gdb/remote.c
===================================================================
--- gdb-6.5.orig/gdb/remote.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/remote.c 2006-07-11 15:02:32.000000000 -0300
@@ -2523,10 +2523,10 @@ cleanup_sigint_signal_handler (void *dum
--- gdb-6.6.orig/gdb/remote.c
+++ gdb-6.6/gdb/remote.c
@@ -2843,10 +2843,10 @@ cleanup_sigint_signal_handler (void *dum
{
signal (SIGINT, handle_sigint);
if (sigint_remote_twice_token)
- delete_async_signal_handler ((struct async_signal_handler **)
- delete_async_signal_handler ((struct async_signal_handler **)
+ delete_async_signal_handler ((struct async_signal_handler **) (char *)
&sigint_remote_twice_token);
if (sigint_remote_token)
- delete_async_signal_handler ((struct async_signal_handler **)
- delete_async_signal_handler ((struct async_signal_handler **)
+ delete_async_signal_handler ((struct async_signal_handler **) (char *)
&sigint_remote_token);
}
Index: gdb-6.5/gdb/f-exp.y
Index: gdb-6.6/gdb/f-exp.y
===================================================================
--- gdb-6.5.orig/gdb/f-exp.y 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/f-exp.y 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/f-exp.y
+++ gdb-6.6/gdb/f-exp.y
@@ -567,6 +567,8 @@ ptype : typebase
case tp_function:
follow_type = lookup_function_type (follow_type);
@ -264,11 +264,11 @@ Index: gdb-6.5/gdb/f-exp.y
}
$$ = follow_type;
}
Index: gdb-6.5/gdb/remote-fileio.c
Index: gdb-6.6/gdb/remote-fileio.c
===================================================================
--- gdb-6.5.orig/gdb/remote-fileio.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/remote-fileio.c 2006-07-11 15:01:23.000000000 -0300
@@ -1317,19 +1317,19 @@ static struct {
--- gdb-6.6.orig/gdb/remote-fileio.c
+++ gdb-6.6/gdb/remote-fileio.c
@@ -1332,19 +1332,19 @@ static struct {
char *name;
void (*func)(char *);
} remote_fio_func_map[] = {
@ -301,11 +301,11 @@ Index: gdb-6.5/gdb/remote-fileio.c
};
static int
Index: gdb-6.5/gdb/source.c
Index: gdb-6.6/gdb/source.c
===================================================================
--- gdb-6.5.orig/gdb/source.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/source.c 2006-07-11 15:01:23.000000000 -0300
@@ -160,7 +160,7 @@ get_current_source_symtab_and_line (void
--- gdb-6.6.orig/gdb/source.c
+++ gdb-6.6/gdb/source.c
@@ -172,7 +172,7 @@ get_current_source_symtab_and_line (void
void
set_default_source_symtab_and_line (void)
{
@ -314,7 +314,7 @@ Index: gdb-6.5/gdb/source.c
if (!have_full_symbols () && !have_partial_symbols ())
error (_("No symbol table is loaded. Use the \"file\" command."));
@@ -1314,7 +1314,7 @@ static void
@@ -1428,7 +1428,7 @@ static void
line_info (char *arg, int from_tty)
{
struct symtabs_and_lines sals;
@ -323,11 +323,11 @@ Index: gdb-6.5/gdb/source.c
CORE_ADDR start_pc, end_pc;
int i;
Index: gdb-6.5/gdb/symfile.c
Index: gdb-6.6/gdb/symfile.c
===================================================================
--- gdb-6.5.orig/gdb/symfile.c 2006-07-11 15:01:22.000000000 -0300
+++ gdb-6.5/gdb/symfile.c 2006-07-11 15:02:34.000000000 -0300
@@ -2877,6 +2877,8 @@ add_psymbol_with_dem_name_to_list (char
--- gdb-6.6.orig/gdb/symfile.c
+++ gdb-6.6/gdb/symfile.c
@@ -2933,6 +2933,8 @@ add_psymbol_with_dem_name_to_list (char
deprecated_bcache (buf, dem_namelength + 1, objfile->psymbol_cache);
break;
/* FIXME What should be done for the default case? Ignoring for now. */
@ -336,10 +336,10 @@ Index: gdb-6.5/gdb/symfile.c
}
/* val and coreaddr are mutually exclusive, one of them *will* be zero */
Index: gdb-6.5/gdb/linespec.c
Index: gdb-6.6/gdb/linespec.c
===================================================================
--- gdb-6.5.orig/gdb/linespec.c 2006-07-11 15:01:23.000000000 -0300
+++ gdb-6.5/gdb/linespec.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/linespec.c
+++ gdb-6.6/gdb/linespec.c
@@ -1631,7 +1631,7 @@ static struct symtabs_and_lines
find_method (int funfirstline, char ***canonical, char *saved_arg,
char *copy, struct type *t, struct symbol *sym_class)
@ -349,10 +349,10 @@ Index: gdb-6.5/gdb/linespec.c
struct symbol *sym = 0;
int i1; /* Counter for the symbol array. */
struct symbol **sym_arr = alloca (total_number_of_methods (t)
Index: gdb-6.5/gdb/macroscope.c
Index: gdb-6.6/gdb/macroscope.c
===================================================================
--- gdb-6.5.orig/gdb/macroscope.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/macroscope.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/macroscope.c
+++ gdb-6.6/gdb/macroscope.c
@@ -33,7 +33,7 @@
struct macro_scope *
sal_macro_scope (struct symtab_and_line sal)
@ -390,23 +390,13 @@ Index: gdb-6.5/gdb/macroscope.c
struct macro_scope *ms;
/* If there's a selected frame, use its PC. */
Index: gdb-6.5/gdb/target.c
Index: gdb-6.6/gdb/target.c
===================================================================
--- gdb-6.5.orig/gdb/target.c 2006-07-11 15:01:22.000000000 -0300
+++ gdb-6.5/gdb/target.c 2006-07-11 15:02:33.000000000 -0300
@@ -1142,6 +1142,9 @@ target_xfer_memory (CORE_ADDR memaddr, g
if (!write)
return EIO;
break;
+
+ default:
+ break;
}
while (reg_len > 0)
@@ -1220,6 +1223,9 @@ target_xfer_memory_partial (CORE_ADDR me
return -1;
}
--- gdb-6.6.orig/gdb/target.c
+++ gdb-6.6/gdb/target.c
@@ -1045,6 +1045,9 @@ memory_xfer_partial (struct target_ops *
if (writebuf != NULL)
error (_("Writing to flash memory forbidden in this context"));
break;
+
+ default:
@ -414,10 +404,10 @@ Index: gdb-6.5/gdb/target.c
}
if (region->attrib.cache)
Index: gdb-6.5/gdb/gdb-events.c
Index: gdb-6.6/gdb/gdb-events.c
===================================================================
--- gdb-6.5.orig/gdb/gdb-events.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/gdb-events.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/gdb-events.c
+++ gdb-6.6/gdb/gdb-events.c
@@ -321,6 +321,8 @@ gdb_events_deliver (struct gdb_events *v
case architecture_changed:
vector->architecture_changed ();
@ -427,11 +417,11 @@ Index: gdb-6.5/gdb/gdb-events.c
}
delivering_events = event->next;
xfree (event);
Index: gdb-6.5/gdb/dwarf2read.c
Index: gdb-6.6/gdb/dwarf2read.c
===================================================================
--- gdb-6.5.orig/gdb/dwarf2read.c 2006-07-11 15:01:23.000000000 -0300
+++ gdb-6.5/gdb/dwarf2read.c 2006-07-11 15:02:33.000000000 -0300
@@ -9179,6 +9179,7 @@ dwarf_decode_macros (struct line_header
--- gdb-6.6.orig/gdb/dwarf2read.c
+++ gdb-6.6/gdb/dwarf2read.c
@@ -9307,6 +9307,7 @@ dwarf_decode_macros (struct line_header
for (;;)
{
enum dwarf_macinfo_record_type macinfo_type;
@ -439,7 +429,7 @@ Index: gdb-6.5/gdb/dwarf2read.c
/* Do we at least have room for a macinfo type byte? */
if (mac_ptr >= mac_end)
@@ -9190,13 +9191,16 @@ dwarf_decode_macros (struct line_header
@@ -9318,13 +9319,16 @@ dwarf_decode_macros (struct line_header
macinfo_type = read_1_byte (abfd, mac_ptr);
mac_ptr++;
@ -461,10 +451,10 @@ Index: gdb-6.5/gdb/dwarf2read.c
case DW_MACINFO_define:
case DW_MACINFO_undef:
{
Index: gdb-6.5/gdb/stabsread.c
Index: gdb-6.6/gdb/stabsread.c
===================================================================
--- gdb-6.5.orig/gdb/stabsread.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/stabsread.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/stabsread.c
+++ gdb-6.6/gdb/stabsread.c
@@ -1794,7 +1794,8 @@ again:
struct type *domain = read_type (pp, objfile);
struct type *return_type;
@ -475,10 +465,10 @@ Index: gdb-6.5/gdb/stabsread.c
if (**pp != ',')
/* Invalid member type data format. */
Index: gdb-6.5/gdb/dwarf2expr.c
Index: gdb-6.6/gdb/dwarf2expr.c
===================================================================
--- gdb-6.5.orig/gdb/dwarf2expr.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/dwarf2expr.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/dwarf2expr.c
+++ gdb-6.6/gdb/dwarf2expr.c
@@ -559,6 +559,8 @@ execute_stack_op (struct dwarf_expr_cont
op_ptr = read_uleb128 (op_ptr, op_end, &reg);
result += reg;
@ -488,10 +478,10 @@ Index: gdb-6.5/gdb/dwarf2expr.c
}
break;
Index: gdb-6.5/gdb/varobj.c
Index: gdb-6.6/gdb/varobj.c
===================================================================
--- gdb-6.5.orig/gdb/varobj.c 2006-07-11 15:01:22.000000000 -0300
+++ gdb-6.5/gdb/varobj.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/varobj.c
+++ gdb-6.6/gdb/varobj.c
@@ -325,10 +325,9 @@ struct language_specific
/* Array of known source language routines. */
@ -544,11 +534,11 @@ Index: gdb-6.5/gdb/varobj.c
/* Set ourselves as our root */
var->root->rootvar = var;
Index: gdb-6.5/gdb/configure.ac
Index: gdb-6.6/gdb/configure.ac
===================================================================
--- gdb-6.5.orig/gdb/configure.ac 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/configure.ac 2006-07-11 15:01:23.000000000 -0300
@@ -1133,7 +1133,8 @@ fi
--- gdb-6.6.orig/gdb/configure.ac
+++ gdb-6.6/gdb/configure.ac
@@ -1112,7 +1112,8 @@ fi
# gdb/doc/gdbint.texinfo.
build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
-Wformat -Wparentheses -Wpointer-arith -Wformat-nonliteral \
@ -558,10 +548,10 @@ Index: gdb-6.5/gdb/configure.ac
# GCC supports -Wuninitialized only with -O or -On, n != 0.
if test x${CFLAGS+set} = xset; then
Index: gdb-6.5/gdb/doublest.c
Index: gdb-6.6/gdb/doublest.c
===================================================================
--- gdb-6.5.orig/gdb/doublest.c 2006-07-11 15:00:08.000000000 -0300
+++ gdb-6.5/gdb/doublest.c 2006-07-11 15:01:23.000000000 -0300
--- gdb-6.6.orig/gdb/doublest.c
+++ gdb-6.6/gdb/doublest.c
@@ -94,15 +94,10 @@ get_field (const bfd_byte *data, enum fl
{
result |= (unsigned long)*(data + cur_byte) << cur_bitshift;