- Rebase to FSF GDB 7.2.50.20110104 (which is a 7.3 pre-release).

- New testcase py-prettyprint.exp:print hint_error (for BZ 611569, BZ 629236).
- New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
This commit is contained in:
Jan Kratochvil 2011-01-04 06:39:35 +01:00
parent 0b11bd2616
commit 278e869a86
10 changed files with 349 additions and 263 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/gdb-7.2.50.20101231.tar.bz2 /gdb-7.2.50.20110104.tar.bz2

View File

@ -1,7 +1,7 @@
Index: gdb-7.1.90.20100711/gdb/corelow.c Index: gdb-7.2.50.20110104/gdb/corelow.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/corelow.c 2010-05-14 01:53:32.000000000 +0200 --- gdb-7.2.50.20110104.orig/gdb/corelow.c 2011-01-01 16:32:59.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/corelow.c 2010-07-12 11:07:33.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/corelow.c 2011-01-04 06:15:49.000000000 +0100
@@ -47,6 +47,9 @@ @@ -47,6 +47,9 @@
#include "filenames.h" #include "filenames.h"
#include "progspace.h" #include "progspace.h"
@ -12,8 +12,8 @@ Index: gdb-7.1.90.20100711/gdb/corelow.c
#ifndef O_LARGEFILE #ifndef O_LARGEFILE
@@ -289,6 +292,52 @@ add_to_thread_list (bfd *abfd, asection @@ -277,6 +280,52 @@ add_to_thread_list (bfd *abfd, asection
inferior_ptid = ptid; /* Yes, make it current */ inferior_ptid = ptid; /* Yes, make it current. */
} }
+static int build_id_core_loads = 1; +static int build_id_core_loads = 1;
@ -65,7 +65,7 @@ Index: gdb-7.1.90.20100711/gdb/corelow.c
/* This routine opens and sets up the core file bfd. */ /* This routine opens and sets up the core file bfd. */
static void static void
@@ -386,6 +435,12 @@ core_open (char *filename, int from_tty) @@ -377,6 +426,12 @@ core_open (char *filename, int from_tty)
push_target (&core_ops); push_target (&core_ops);
discard_cleanups (old_chain); discard_cleanups (old_chain);
@ -78,7 +78,7 @@ Index: gdb-7.1.90.20100711/gdb/corelow.c
/* Do this before acknowledging the inferior, so if /* Do this before acknowledging the inferior, so if
post_create_inferior throws (can happen easilly if you're loading post_create_inferior throws (can happen easilly if you're loading
a core file with the wrong exec), we aren't left with threads a core file with the wrong exec), we aren't left with threads
@@ -924,4 +979,11 @@ _initialize_corelow (void) @@ -930,4 +985,11 @@ _initialize_corelow (void)
init_core_ops (); init_core_ops ();
add_target (&core_ops); add_target (&core_ops);
@ -90,11 +90,11 @@ Index: gdb-7.1.90.20100711/gdb/corelow.c
+ NULL, NULL, NULL, + NULL, NULL, NULL,
+ &setlist, &showlist); + &setlist, &showlist);
} }
Index: gdb-7.1.90.20100711/gdb/doc/gdb.texinfo Index: gdb-7.2.50.20110104/gdb/doc/gdb.texinfo
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/doc/gdb.texinfo 2010-07-12 10:59:30.000000000 +0200 --- gdb-7.2.50.20110104.orig/gdb/doc/gdb.texinfo 2011-01-04 06:15:02.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/doc/gdb.texinfo 2010-07-12 11:05:57.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/doc/gdb.texinfo 2011-01-04 06:15:14.000000000 +0100
@@ -14980,6 +14980,27 @@ information files. @@ -15267,6 +15267,27 @@ information files.
@end table @end table
@ -122,11 +122,11 @@ Index: gdb-7.1.90.20100711/gdb/doc/gdb.texinfo
@cindex @code{.gnu_debuglink} sections @cindex @code{.gnu_debuglink} sections
@cindex debug link sections @cindex debug link sections
A debug link is a special section of the executable file named A debug link is a special section of the executable file named
Index: gdb-7.1.90.20100711/gdb/solib-svr4.c Index: gdb-7.2.50.20110104/gdb/solib-svr4.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/solib-svr4.c 2010-07-12 10:00:56.000000000 +0200 --- gdb-7.2.50.20110104.orig/gdb/solib-svr4.c 2011-01-04 06:15:01.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/solib-svr4.c 2010-07-12 11:05:57.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/solib-svr4.c 2011-01-04 06:15:14.000000000 +0100
@@ -1181,9 +1181,49 @@ svr4_current_sos (void) @@ -1179,9 +1179,49 @@ svr4_current_sos (void)
safe_strerror (errcode)); safe_strerror (errcode));
else else
{ {
@ -179,10 +179,10 @@ Index: gdb-7.1.90.20100711/gdb/solib-svr4.c
} }
xfree (buffer); xfree (buffer);
Index: gdb-7.1.90.20100711/gdb/elfread.c Index: gdb-7.2.50.20110104/gdb/elfread.c
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/elfread.c 2010-07-12 10:00:56.000000000 +0200 --- gdb-7.2.50.20110104.orig/gdb/elfread.c 2011-01-04 06:15:01.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/elfread.c 2010-07-12 11:30:30.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/elfread.c 2011-01-04 06:15:14.000000000 +0100
@@ -38,6 +38,10 @@ @@ -38,6 +38,10 @@
#include "demangle.h" #include "demangle.h"
#include "psympriv.h" #include "psympriv.h"
@ -194,7 +194,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
extern void _initialize_elfread (void); extern void _initialize_elfread (void);
@@ -818,16 +822,65 @@ resolve_gnu_ifunc (const char *function_ @@ -821,16 +825,65 @@ resolve_gnu_ifunc (const char *function_
return 0; return 0;
} }
@ -262,7 +262,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
{ {
struct build_id *retval; struct build_id *retval;
@@ -843,6 +896,348 @@ build_id_bfd_get (bfd *abfd) @@ -846,6 +899,348 @@ build_id_bfd_get (bfd *abfd)
return retval; return retval;
} }
@ -611,7 +611,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
/* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */ /* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
static int static int
@@ -857,7 +1252,7 @@ build_id_verify (const char *filename, s @@ -860,7 +1255,7 @@ build_id_verify (const char *filename, s
if (abfd == NULL) if (abfd == NULL)
return 0; return 0;
@ -620,7 +620,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
if (found == NULL) if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"), filename); warning (_("File \"%s\" has no build-id, file skipped"), filename);
@@ -874,14 +1269,16 @@ build_id_verify (const char *filename, s @@ -877,14 +1272,16 @@ build_id_verify (const char *filename, s
return retval; return retval;
} }
@ -641,7 +641,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
cause "/.build-id/..." lookups. */ cause "/.build-id/..." lookups. */
@@ -912,7 +1309,10 @@ build_id_to_debug_filename (struct build @@ -915,7 +1312,10 @@ build_id_to_debug_filename (struct build
*s++ = '/'; *s++ = '/';
while (size-- > 0) while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++); s += sprintf (s, "%02x", (unsigned) *data++);
@ -653,7 +653,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
/* lrealpath() is expensive even for the usually non-existent files. */ /* lrealpath() is expensive even for the usually non-existent files. */
if (access (link, F_OK) == 0) if (access (link, F_OK) == 0)
@@ -925,26 +1325,201 @@ build_id_to_debug_filename (struct build @@ -928,26 +1328,201 @@ build_id_to_debug_filename (struct build
} }
if (retval != NULL) if (retval != NULL)
@ -859,7 +859,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
xfree (build_id); xfree (build_id);
/* Prevent looping on a stripped .debug file. */ /* Prevent looping on a stripped .debug file. */
if (build_id_name != NULL && strcmp (build_id_name, objfile->name) == 0) if (build_id_name != NULL && strcmp (build_id_name, objfile->name) == 0)
@@ -954,7 +1529,7 @@ find_separate_debug_file_by_buildid (str @@ -957,7 +1532,7 @@ find_separate_debug_file_by_buildid (str
xfree (build_id_name); xfree (build_id_name);
} }
else if (build_id_name != NULL) else if (build_id_name != NULL)
@ -868,7 +868,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
} }
return NULL; return NULL;
} }
@@ -1131,9 +1706,10 @@ elf_symfile_read (struct objfile *objfil @@ -1138,9 +1713,10 @@ elf_symfile_read (struct objfile *objfil
`.gnu_debuglink' may no longer be present with `.note.gnu.build-id'. */ `.gnu_debuglink' may no longer be present with `.note.gnu.build-id'. */
if (!objfile_has_partial_symbols (objfile)) if (!objfile_has_partial_symbols (objfile))
{ {
@ -881,7 +881,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
if (debugfile == NULL) if (debugfile == NULL)
debugfile = find_separate_debug_file_by_debuglink (objfile); debugfile = find_separate_debug_file_by_debuglink (objfile);
@@ -1145,6 +1721,12 @@ elf_symfile_read (struct objfile *objfil @@ -1152,6 +1728,12 @@ elf_symfile_read (struct objfile *objfil
symbol_file_add_separate (abfd, symfile_flags, objfile); symbol_file_add_separate (abfd, symfile_flags, objfile);
xfree (debugfile); xfree (debugfile);
} }
@ -894,7 +894,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
} }
} }
@@ -1304,4 +1886,16 @@ void @@ -1327,4 +1909,16 @@ void
_initialize_elfread (void) _initialize_elfread (void)
{ {
add_symtab_fns (&elf_sym_fns); add_symtab_fns (&elf_sym_fns);
@ -911,11 +911,11 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
+ +
+ observer_attach_executable_changed (debug_print_executable_changed); + observer_attach_executable_changed (debug_print_executable_changed);
} }
Index: gdb-7.1.90.20100711/gdb/symfile.h Index: gdb-7.2.50.20110104/gdb/symfile.h
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/symfile.h 2010-05-08 06:58:45.000000000 +0200 --- gdb-7.2.50.20110104.orig/gdb/symfile.h 2011-01-01 16:33:16.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/symfile.h 2010-07-12 11:06:18.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/symfile.h 2011-01-04 06:15:14.000000000 +0100
@@ -562,6 +562,13 @@ void free_symfile_segment_data (struct s @@ -553,6 +553,13 @@ void free_symfile_segment_data (struct s
extern struct cleanup *increment_reading_symtab (void); extern struct cleanup *increment_reading_symtab (void);
@ -929,11 +929,11 @@ Index: gdb-7.1.90.20100711/gdb/symfile.h
/* From dwarf2read.c */ /* From dwarf2read.c */
extern int dwarf2_has_info (struct objfile *); extern int dwarf2_has_info (struct objfile *);
Index: gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp Index: gdb-7.2.50.20110104/gdb/testsuite/lib/gdb.exp
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/testsuite/lib/gdb.exp 2010-07-12 10:00:56.000000000 +0200 --- gdb-7.2.50.20110104.orig/gdb/testsuite/lib/gdb.exp 2011-01-04 06:15:01.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp 2010-07-12 11:05:57.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/testsuite/lib/gdb.exp 2011-01-04 06:15:14.000000000 +0100
@@ -1353,6 +1353,16 @@ proc default_gdb_start { } { @@ -1390,6 +1390,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0." warning "Couldn't set the width to 0."
} }
} }
@ -950,10 +950,10 @@ Index: gdb-7.1.90.20100711/gdb/testsuite/lib/gdb.exp
return 0; return 0;
} }
Index: gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp Index: gdb-7.2.50.20110104/gdb/testsuite/lib/mi-support.exp
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/testsuite/lib/mi-support.exp 2010-03-15 04:43:13.000000000 +0100 --- gdb-7.2.50.20110104.orig/gdb/testsuite/lib/mi-support.exp 2011-01-01 16:33:52.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp 2010-07-12 11:05:57.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/testsuite/lib/mi-support.exp 2011-01-04 06:15:14.000000000 +0100
@@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } { @@ -221,6 +221,16 @@ proc default_mi_gdb_start { args } {
} }
} }
@ -971,11 +971,11 @@ Index: gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp
detect_async detect_async
Index: gdb-7.1.90.20100711/gdb/objfiles.h Index: gdb-7.2.50.20110104/gdb/objfiles.h
=================================================================== ===================================================================
--- gdb-7.1.90.20100711.orig/gdb/objfiles.h 2010-04-14 19:26:11.000000000 +0200 --- gdb-7.2.50.20110104.orig/gdb/objfiles.h 2011-01-01 16:33:12.000000000 +0100
+++ gdb-7.1.90.20100711/gdb/objfiles.h 2010-07-12 11:07:08.000000000 +0200 +++ gdb-7.2.50.20110104/gdb/objfiles.h 2011-01-04 06:15:14.000000000 +0100
@@ -426,6 +426,10 @@ struct objfile @@ -433,6 +433,10 @@ struct objfile
#define OBJF_USERLOADED (1 << 3) /* User loaded */ #define OBJF_USERLOADED (1 << 3) /* User loaded */

View File

@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
http://sourceware.org/gdb/wiki/ArcherBranchManagement http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot: GIT snapshot:
commit 18d3d5d564eac7ad10bc972c957e6159a4276d3f commit 2be613ebefe3f3c2a5bb329c207d435024af7a2b
branch `archer' - the merge of branches: branch `archer' - the merge of branches:
archer-jankratochvil-vla archer-jankratochvil-vla
@ -44,7 +44,7 @@ index 3efff2e..99097bf 100644
return 1; return 1;
diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
index 16e97a2..784a476 100644 index 877072c..2154b73 100644
--- a/gdb/amd64-linux-nat.c --- a/gdb/amd64-linux-nat.c
+++ b/gdb/amd64-linux-nat.c +++ b/gdb/amd64-linux-nat.c
@@ -265,18 +265,11 @@ amd64_linux_store_inferior_registers (struct target_ops *ops, @@ -265,18 +265,11 @@ amd64_linux_store_inferior_registers (struct target_ops *ops,
@ -266,10 +266,10 @@ index 16e97a2..784a476 100644
diff --git a/gdb/block.c b/gdb/block.c diff --git a/gdb/block.c b/gdb/block.c
index f932d41..6e2cd88 100644 index 776ae53..3544cf2 100644
--- a/gdb/block.c --- a/gdb/block.c
+++ b/gdb/block.c +++ b/gdb/block.c
@@ -321,3 +321,21 @@ allocate_block (struct obstack *obstack) @@ -322,3 +322,21 @@ allocate_block (struct obstack *obstack)
return bl; return bl;
} }
@ -292,10 +292,10 @@ index f932d41..6e2cd88 100644
+ return SYMBOL_SYMTAB (func)->objfile; + return SYMBOL_SYMTAB (func)->objfile;
+} +}
diff --git a/gdb/block.h b/gdb/block.h diff --git a/gdb/block.h b/gdb/block.h
index 7eedb6c..a517e80 100644 index 07d5bc7..fad89b1 100644
--- a/gdb/block.h --- a/gdb/block.h
+++ b/gdb/block.h +++ b/gdb/block.h
@@ -166,4 +166,6 @@ extern const struct block *block_global_block (const struct block *block); @@ -167,4 +167,6 @@ extern const struct block *block_global_block (const struct block *block);
extern struct block *allocate_block (struct obstack *obstack); extern struct block *allocate_block (struct obstack *obstack);
@ -303,7 +303,7 @@ index 7eedb6c..a517e80 100644
+ +
#endif /* BLOCK_H */ #endif /* BLOCK_H */
diff --git a/gdb/blockframe.c b/gdb/blockframe.c diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 366bedd..97f418a 100644 index 4cfc6e6..dc64d51 100644
--- a/gdb/blockframe.c --- a/gdb/blockframe.c
+++ b/gdb/blockframe.c +++ b/gdb/blockframe.c
@@ -160,6 +160,7 @@ static CORE_ADDR cache_pc_function_low = 0; @@ -160,6 +160,7 @@ static CORE_ADDR cache_pc_function_low = 0;
@ -365,7 +365,7 @@ index 366bedd..97f418a 100644
/* Return the innermost stack frame executing inside of BLOCK, or NULL /* Return the innermost stack frame executing inside of BLOCK, or NULL
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 809eb53..8f92c4e 100644 index 785155c..63d736f 100644
--- a/gdb/breakpoint.c --- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c +++ b/gdb/breakpoint.c
@@ -62,6 +62,7 @@ @@ -62,6 +62,7 @@
@ -1026,10 +1026,10 @@ index 809eb53..8f92c4e 100644
+ observer_attach_mark_used (breakpoint_types_mark_used); + observer_attach_mark_used (breakpoint_types_mark_used);
} }
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index bfae8d9..a058e46 100644 index 2d815c2..66b3ece 100644
--- a/gdb/breakpoint.h --- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h +++ b/gdb/breakpoint.h
@@ -147,6 +147,9 @@ enum bptype @@ -148,6 +148,9 @@ enum bptype
/* Event for JIT compiled code generation or deletion. */ /* Event for JIT compiled code generation or deletion. */
bp_jit_event, bp_jit_event,
@ -1038,16 +1038,18 @@ index bfae8d9..a058e46 100644
+ bp_gnu_ifunc_resolver_return, + bp_gnu_ifunc_resolver_return,
}; };
/* States of enablement of breakpoint. */ /* States of enablement of breakpoint. */
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
index 04f8127..2e29eb2 100644 index feee86d..363c62b 100644
--- a/gdb/c-typeprint.c --- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c
@@ -579,7 +579,13 @@ c_type_print_varspec_suffix (struct type *type, struct ui_file *stream, @@ -609,9 +609,14 @@ c_type_print_varspec_suffix (struct type *type,
fprintf_filtered (stream, ")"); fprintf_filtered (stream, ")");
fprintf_filtered (stream, "["); fprintf_filtered (stream, "[");
- if (get_array_bounds (type, &low_bound, &high_bound)) - if (get_array_bounds (type, &low_bound, &high_bound))
- fprintf_filtered (stream, "%d",
- (int) (high_bound - low_bound + 1));
+ if (TYPE_RANGE_DATA (TYPE_INDEX_TYPE (type))->high.kind + if (TYPE_RANGE_DATA (TYPE_INDEX_TYPE (type))->high.kind
+ != RANGE_BOUND_KIND_CONSTANT) + != RANGE_BOUND_KIND_CONSTANT)
+ { + {
@ -1055,11 +1057,12 @@ index 04f8127..2e29eb2 100644
+ fprintf_filtered (stream, "variable"); + fprintf_filtered (stream, "variable");
+ } + }
+ else if (get_array_bounds (type, &low_bound, &high_bound)) + else if (get_array_bounds (type, &low_bound, &high_bound))
fprintf_filtered (stream, "%d", (int) (high_bound - low_bound + 1)); + fprintf_filtered (stream, "%d", (int) (high_bound - low_bound + 1));
fprintf_filtered (stream, "]"); fprintf_filtered (stream, "]");
c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
diff --git a/gdb/defs.h b/gdb/defs.h diff --git a/gdb/defs.h b/gdb/defs.h
index 489de74..335d3f5 100644 index 9d8f6fc..229378a 100644
--- a/gdb/defs.h --- a/gdb/defs.h
+++ b/gdb/defs.h +++ b/gdb/defs.h
@@ -398,6 +398,8 @@ extern struct cleanup *make_cleanup_restore_page_info (void); @@ -398,6 +398,8 @@ extern struct cleanup *make_cleanup_restore_page_info (void);
@ -1217,7 +1220,7 @@ index e19b8ed..343e160 100644
This observer is used for internal testing. Do not use. This observer is used for internal testing. Do not use.
See testsuite/gdb.gdb/observer.exp. See testsuite/gdb.gdb/observer.exp.
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
index 29bfcf4..c339378 100644 index 4ef6d55..1a3580a 100644
--- a/gdb/dwarf2expr.c --- a/gdb/dwarf2expr.c
+++ b/gdb/dwarf2expr.c +++ b/gdb/dwarf2expr.c
@@ -900,6 +900,13 @@ execute_stack_op (struct dwarf_expr_context *ctx, @@ -900,6 +900,13 @@ execute_stack_op (struct dwarf_expr_context *ctx,
@ -1235,7 +1238,7 @@ index 29bfcf4..c339378 100644
error (_("Unhandled dwarf expression opcode 0x%x"), op); error (_("Unhandled dwarf expression opcode 0x%x"), op);
} }
diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h
index 68cc667..5b5f29c 100644 index 3858dc8..a172585 100644
--- a/gdb/dwarf2expr.h --- a/gdb/dwarf2expr.h
+++ b/gdb/dwarf2expr.h +++ b/gdb/dwarf2expr.h
@@ -114,9 +114,15 @@ struct dwarf_expr_context @@ -114,9 +114,15 @@ struct dwarf_expr_context
@ -1256,7 +1259,7 @@ index 68cc667..5b5f29c 100644
/* The current depth of dwarf expression recursion, via DW_OP_call*, /* The current depth of dwarf expression recursion, via DW_OP_call*,
DW_OP_fbreg, DW_OP_push_object_address, etc., and the maximum DW_OP_fbreg, DW_OP_push_object_address, etc., and the maximum
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index f0e08c7..d5c0c36 100644 index 12e4dac..943b37d 100644
--- a/gdb/dwarf2loc.c --- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c
@@ -133,6 +133,9 @@ struct dwarf_expr_baton @@ -133,6 +133,9 @@ struct dwarf_expr_baton
@ -1582,7 +1585,7 @@ index f0e08c7..d5c0c36 100644
+ missing_tracepoint_var_ref + missing_tracepoint_var_ref
+}; +};
diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
index e94346c..55beec2 100644 index ee52506..6a77c3f 100644
--- a/gdb/dwarf2loc.h --- a/gdb/dwarf2loc.h
+++ b/gdb/dwarf2loc.h +++ b/gdb/dwarf2loc.h
@@ -105,5 +105,14 @@ struct dwarf2_loclist_baton @@ -105,5 +105,14 @@ struct dwarf2_loclist_baton
@ -1601,7 +1604,7 @@ index e94346c..55beec2 100644
#endif /* dwarf2loc.h */ #endif /* dwarf2loc.h */
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 80770f8..9908495 100644 index 82a2f0b..327164c 100644
--- a/gdb/dwarf2read.c --- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c
@@ -1206,6 +1206,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu, @@ -1206,6 +1206,9 @@ static void fill_in_loclist_baton (struct dwarf2_cu *cu,
@ -2262,7 +2265,7 @@ index 80770f8..9908495 100644
initialized (if not already set). There are a few types where initialized (if not already set). There are a few types where
we should not be doing so, because the type-specific area is we should not be doing so, because the type-specific area is
diff --git a/gdb/elfread.c b/gdb/elfread.c diff --git a/gdb/elfread.c b/gdb/elfread.c
index d607b87..2aa7dd9 100644 index 5944eb0..9b283e1 100644
--- a/gdb/elfread.c --- a/gdb/elfread.c
+++ b/gdb/elfread.c +++ b/gdb/elfread.c
@@ -37,6 +37,7 @@ @@ -37,6 +37,7 @@
@ -2556,7 +2559,7 @@ index d607b87..2aa7dd9 100644
/* Add synthetic symbols - for instance, names for any PLT entries. */ /* Add synthetic symbols - for instance, names for any PLT entries. */
diff --git a/gdb/eval.c b/gdb/eval.c diff --git a/gdb/eval.c b/gdb/eval.c
index 16e98ae..4fa4d5f 100644 index fbd3698..56d51c8 100644
--- a/gdb/eval.c --- a/gdb/eval.c
+++ b/gdb/eval.c +++ b/gdb/eval.c
@@ -44,6 +44,7 @@ @@ -44,6 +44,7 @@
@ -2784,7 +2787,7 @@ index 16e98ae..4fa4d5f 100644
default: default:
val = evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS); val = evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
diff --git a/gdb/f-lang.h b/gdb/f-lang.h diff --git a/gdb/f-lang.h b/gdb/f-lang.h
index f5bb82d..29cf5ba 100644 index 5c2692d..b52ae74 100644
--- a/gdb/f-lang.h --- a/gdb/f-lang.h
+++ b/gdb/f-lang.h +++ b/gdb/f-lang.h
@@ -28,6 +28,10 @@ extern void f_error (char *); /* Defined in f-exp.y */ @@ -28,6 +28,10 @@ extern void f_error (char *); /* Defined in f-exp.y */
@ -2799,7 +2802,7 @@ index f5bb82d..29cf5ba 100644
struct ui_file *, int, struct ui_file *, int,
const struct value *, const struct value *,
diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
index d35a255..dec81d5 100644 index 6618188..968de7a 100644
--- a/gdb/f-typeprint.c --- a/gdb/f-typeprint.c
+++ b/gdb/f-typeprint.c +++ b/gdb/f-typeprint.c
@@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
@ -2867,7 +2870,7 @@ index d35a255..dec81d5 100644
{ {
case TYPE_CODE_ARRAY: case TYPE_CODE_ARRAY:
diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c
index e27f79e..93322a2 100644 index 5db2ed7..e104e21 100644
--- a/gdb/f-valprint.c --- a/gdb/f-valprint.c
+++ b/gdb/f-valprint.c +++ b/gdb/f-valprint.c
@@ -54,15 +54,17 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2]; @@ -54,15 +54,17 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2];
@ -3005,7 +3008,7 @@ index e27f79e..93322a2 100644
switch (TYPE_CODE (type)) switch (TYPE_CODE (type))
{ {
diff --git a/gdb/findvar.c b/gdb/findvar.c diff --git a/gdb/findvar.c b/gdb/findvar.c
index e0ca12c..de6311a 100644 index 5f97422..2c2670e 100644
--- a/gdb/findvar.c --- a/gdb/findvar.c
+++ b/gdb/findvar.c +++ b/gdb/findvar.c
@@ -35,6 +35,7 @@ @@ -35,6 +35,7 @@
@ -3216,7 +3219,7 @@ index e0ca12c..de6311a 100644
else else
{ {
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index b651098..70269d6 100644 index fac1e98..cbc3aeb 100644
--- a/gdb/gdbtypes.c --- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c
@@ -39,6 +39,9 @@ @@ -39,6 +39,9 @@
@ -4146,7 +4149,7 @@ index b651098..70269d6 100644
add_setshow_zinteger_cmd ("overload", no_class, &overload_debug, _("\ add_setshow_zinteger_cmd ("overload", no_class, &overload_debug, _("\
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 1ce2d91..133f583 100644 index 9898991..652994c 100644
--- a/gdb/gdbtypes.h --- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h
@@ -170,6 +170,7 @@ enum type_flag_value @@ -170,6 +170,7 @@ enum type_flag_value
@ -4423,7 +4426,7 @@ index 1ce2d91..133f583 100644
+ +
#endif /* GDBTYPES_H */ #endif /* GDBTYPES_H */
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index 4fce1ac..7b6961e 100644 index ed555ef..6b5c458 100644
--- a/gdb/i386-linux-nat.c --- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c +++ b/gdb/i386-linux-nat.c
@@ -633,22 +633,13 @@ i386_linux_store_inferior_registers (struct target_ops *ops, @@ -633,22 +633,13 @@ i386_linux_store_inferior_registers (struct target_ops *ops,
@ -4631,7 +4634,7 @@ index 4fce1ac..7b6961e 100644
diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c diff --git a/gdb/i386-nat.c b/gdb/i386-nat.c
index eaa3644..7f32bd2 100644 index 900fb40..f28c45b 100644
--- a/gdb/i386-nat.c --- a/gdb/i386-nat.c
+++ b/gdb/i386-nat.c +++ b/gdb/i386-nat.c
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
@ -4986,7 +4989,7 @@ index eaa3644..7f32bd2 100644
void void
diff --git a/gdb/i386-nat.h b/gdb/i386-nat.h diff --git a/gdb/i386-nat.h b/gdb/i386-nat.h
index 7317e7d..65cd326 100644 index 10fdc3b..ed6de56 100644
--- a/gdb/i386-nat.h --- a/gdb/i386-nat.h
+++ b/gdb/i386-nat.h +++ b/gdb/i386-nat.h
@@ -78,6 +78,28 @@ struct i386_dr_low_type @@ -78,6 +78,28 @@ struct i386_dr_low_type
@ -5019,7 +5022,7 @@ index 7317e7d..65cd326 100644
rather than setting it directly to check that the length is only rather than setting it directly to check that the length is only
set once. It also enables the 'maint set/show show-debug-regs' set once. It also enables the 'maint set/show show-debug-regs'
diff --git a/gdb/infcall.c b/gdb/infcall.c diff --git a/gdb/infcall.c b/gdb/infcall.c
index 6eb1bbf..7323c4b 100644 index 85b814a..f0cb929 100644
--- a/gdb/infcall.c --- a/gdb/infcall.c
+++ b/gdb/infcall.c +++ b/gdb/infcall.c
@@ -225,6 +225,56 @@ value_arg_coerce (struct gdbarch *gdbarch, struct value *arg, @@ -225,6 +225,56 @@ value_arg_coerce (struct gdbarch *gdbarch, struct value *arg,
@ -5133,7 +5136,7 @@ index 6eb1bbf..7323c4b 100644
/* Handle the case of functions lacking debugging info. /* Handle the case of functions lacking debugging info.
Their values are characters since their addresses are char */ Their values are characters since their addresses are char */
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 56490cc..c4d1c28 100644 index 146bb8c..9e08eee 100644
--- a/gdb/linux-nat.c --- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c +++ b/gdb/linux-nat.c
@@ -1243,6 +1243,64 @@ iterate_over_lwps (ptid_t filter, @@ -1243,6 +1243,64 @@ iterate_over_lwps (ptid_t filter,
@ -5202,7 +5205,7 @@ index 56490cc..c4d1c28 100644
another indicated by NEW_PTID. We can only switch single-threaded another indicated by NEW_PTID. We can only switch single-threaded
applications, so we only create one new LWP, and the previous list applications, so we only create one new LWP, and the previous list
diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h
index 64393fd..a053cbd 100644 index 2987fab..0e5f353 100644
--- a/gdb/linux-nat.h --- a/gdb/linux-nat.h
+++ b/gdb/linux-nat.h +++ b/gdb/linux-nat.h
@@ -139,6 +139,11 @@ struct lwp_info *iterate_over_lwps (ptid_t filter, @@ -139,6 +139,11 @@ struct lwp_info *iterate_over_lwps (ptid_t filter,
@ -5218,7 +5221,7 @@ index 64393fd..a053cbd 100644
override it with local methods. */ override it with local methods. */
struct target_ops * linux_target (void); struct target_ops * linux_target (void);
diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c
index 310ade9..d8710a1 100644 index 1478cb0..c4492a7 100644
--- a/gdb/mi/mi-cmd-var.c --- a/gdb/mi/mi-cmd-var.c
+++ b/gdb/mi/mi-cmd-var.c +++ b/gdb/mi/mi-cmd-var.c
@@ -702,7 +702,6 @@ mi_cmd_var_update (char *command, char **argv, int argc) @@ -702,7 +702,6 @@ mi_cmd_var_update (char *command, char **argv, int argc)
@ -5230,10 +5233,10 @@ index 310ade9..d8710a1 100644
varobj_update_one (var, print_values, 1 /* explicit */); varobj_update_one (var, print_values, 1 /* explicit */);
diff --git a/gdb/minsyms.c b/gdb/minsyms.c diff --git a/gdb/minsyms.c b/gdb/minsyms.c
index 0a57e77..6be74df 100644 index e870954..0436b57 100644
--- a/gdb/minsyms.c --- a/gdb/minsyms.c
+++ b/gdb/minsyms.c +++ b/gdb/minsyms.c
@@ -337,8 +337,9 @@ lookup_minimal_symbol_text (const char *name, struct objfile *objf) @@ -338,8 +338,9 @@ lookup_minimal_symbol_text (const char *name, struct objfile *objf)
msymbol = msymbol->hash_next) msymbol = msymbol->hash_next)
{ {
if (strcmp (SYMBOL_LINKAGE_NAME (msymbol), name) == 0 && if (strcmp (SYMBOL_LINKAGE_NAME (msymbol), name) == 0 &&
@ -5245,7 +5248,7 @@ index 0a57e77..6be74df 100644
{ {
switch (MSYMBOL_TYPE (msymbol)) switch (MSYMBOL_TYPE (msymbol))
{ {
@@ -700,6 +701,16 @@ lookup_minimal_symbol_by_pc (CORE_ADDR pc) @@ -701,6 +702,16 @@ lookup_minimal_symbol_by_pc (CORE_ADDR pc)
return lookup_minimal_symbol_by_pc_section (pc, NULL); return lookup_minimal_symbol_by_pc_section (pc, NULL);
} }
@ -5262,7 +5265,7 @@ index 0a57e77..6be74df 100644
/* Find the minimal symbol named NAME, and return both the minsym /* Find the minimal symbol named NAME, and return both the minsym
struct and its objfile. This only checks the linkage name. Sets struct and its objfile. This only checks the linkage name. Sets
*OBJFILE_P and returns the minimal symbol, if it is found. If it *OBJFILE_P and returns the minimal symbol, if it is found. If it
@@ -769,6 +780,7 @@ prim_record_minimal_symbol (const char *name, CORE_ADDR address, @@ -770,6 +781,7 @@ prim_record_minimal_symbol (const char *name, CORE_ADDR address,
switch (ms_type) switch (ms_type)
{ {
case mst_text: case mst_text:
@ -5270,7 +5273,7 @@ index 0a57e77..6be74df 100644
case mst_file_text: case mst_file_text:
case mst_solib_trampoline: case mst_solib_trampoline:
section = SECT_OFF_TEXT (objfile); section = SECT_OFF_TEXT (objfile);
@@ -1234,7 +1246,8 @@ find_solib_trampoline_target (struct frame_info *frame, CORE_ADDR pc) @@ -1235,7 +1247,8 @@ find_solib_trampoline_target (struct frame_info *frame, CORE_ADDR pc)
{ {
ALL_MSYMBOLS (objfile, msymbol) ALL_MSYMBOLS (objfile, msymbol)
{ {
@ -5281,7 +5284,7 @@ index 0a57e77..6be74df 100644
SYMBOL_LINKAGE_NAME (tsymbol)) == 0) SYMBOL_LINKAGE_NAME (tsymbol)) == 0)
return SYMBOL_VALUE_ADDRESS (msymbol); return SYMBOL_VALUE_ADDRESS (msymbol);
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index 47663bd..d9fb878 100644 index bd01fea..77b1033 100644
--- a/gdb/p-valprint.c --- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c +++ b/gdb/p-valprint.c
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
@ -5358,7 +5361,7 @@ index 47663bd..d9fb878 100644
} }
diff --git a/gdb/parse.c b/gdb/parse.c diff --git a/gdb/parse.c b/gdb/parse.c
index 18038ed..1438ae0 100644 index daee633..1f9a0d1 100644
--- a/gdb/parse.c --- a/gdb/parse.c
+++ b/gdb/parse.c +++ b/gdb/parse.c
@@ -487,9 +487,21 @@ write_exp_msymbol (struct minimal_symbol *msymbol) @@ -487,9 +487,21 @@ write_exp_msymbol (struct minimal_symbol *msymbol)
@ -5510,7 +5513,7 @@ index 18038ed..1438ae0 100644
void void
diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h
index 1625575..d072f86 100644 index 95dd799..42266df 100644
--- a/gdb/parser-defs.h --- a/gdb/parser-defs.h
+++ b/gdb/parser-defs.h +++ b/gdb/parser-defs.h
@@ -194,6 +194,8 @@ extern void operator_length_standard (const struct expression *, int, int *, @@ -194,6 +194,8 @@ extern void operator_length_standard (const struct expression *, int, int *,
@ -5540,10 +5543,10 @@ index 1625575..d072f86 100644
+ +
#endif /* PARSER_DEFS_H */ #endif /* PARSER_DEFS_H */
diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
index 18ddee7..ebb0022 100644 index ca7312b..58696d3 100644
--- a/gdb/ppc-linux-nat.c --- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c +++ b/gdb/ppc-linux-nat.c
@@ -1620,12 +1620,18 @@ booke_remove_point (struct ppc_hw_breakpoint *b, int tid) @@ -1621,12 +1621,18 @@ booke_remove_point (struct ppc_hw_breakpoint *b, int tid)
hw_breaks[i].hw_break = NULL; hw_breaks[i].hw_break = NULL;
} }
@ -5564,7 +5567,7 @@ index 18ddee7..ebb0022 100644
struct ppc_hw_breakpoint p; struct ppc_hw_breakpoint p;
if (!have_ptrace_booke_interface ()) if (!have_ptrace_booke_interface ())
@@ -1639,18 +1645,23 @@ ppc_linux_insert_hw_breakpoint (struct gdbarch *gdbarch, @@ -1640,18 +1646,23 @@ ppc_linux_insert_hw_breakpoint (struct gdbarch *gdbarch,
p.addr2 = 0; p.addr2 = 0;
p.condition_value = 0; p.condition_value = 0;
@ -5592,7 +5595,7 @@ index 18ddee7..ebb0022 100644
struct ppc_hw_breakpoint p; struct ppc_hw_breakpoint p;
if (!have_ptrace_booke_interface ()) if (!have_ptrace_booke_interface ())
@@ -1664,8 +1675,7 @@ ppc_linux_remove_hw_breakpoint (struct gdbarch *gdbarch, @@ -1665,8 +1676,7 @@ ppc_linux_remove_hw_breakpoint (struct gdbarch *gdbarch,
p.addr2 = 0; p.addr2 = 0;
p.condition_value = 0; p.condition_value = 0;
@ -5602,7 +5605,7 @@ index 18ddee7..ebb0022 100644
return 0; return 0;
} }
@@ -1878,12 +1888,19 @@ ppc_linux_can_accel_watchpoint_condition (CORE_ADDR addr, int len, int rw, @@ -1879,12 +1889,19 @@ ppc_linux_can_accel_watchpoint_condition (CORE_ADDR addr, int len, int rw,
&& check_condition (addr, cond, &data_value)); && check_condition (addr, cond, &data_value));
} }
@ -5624,7 +5627,7 @@ index 18ddee7..ebb0022 100644
int ret = -1; int ret = -1;
if (have_ptrace_booke_interface ()) if (have_ptrace_booke_interface ())
@@ -1907,8 +1924,7 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw, @@ -1908,8 +1925,7 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
p.addr = (uint64_t) addr; p.addr = (uint64_t) addr;
p.addr2 = 0; p.addr2 = 0;
@ -5634,7 +5637,7 @@ index 18ddee7..ebb0022 100644
ret = 0; ret = 0;
} }
@@ -1951,12 +1967,8 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw, @@ -1952,12 +1968,8 @@ ppc_linux_insert_watchpoint (CORE_ADDR addr, int len, int rw,
saved_dabr_value = dabr_value; saved_dabr_value = dabr_value;
@ -5648,7 +5651,7 @@ index 18ddee7..ebb0022 100644
} }
return ret; return ret;
@@ -1966,8 +1978,6 @@ static int @@ -1967,8 +1979,6 @@ static int
ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw, ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
struct expression *cond) struct expression *cond)
{ {
@ -5657,7 +5660,7 @@ index 18ddee7..ebb0022 100644
int ret = -1; int ret = -1;
if (have_ptrace_booke_interface ()) if (have_ptrace_booke_interface ())
@@ -1991,20 +2001,16 @@ ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw, @@ -1992,20 +2002,16 @@ ppc_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw,
p.addr = (uint64_t) addr; p.addr = (uint64_t) addr;
p.addr2 = 0; p.addr2 = 0;
@ -5681,7 +5684,7 @@ index 18ddee7..ebb0022 100644
return ret; return ret;
diff --git a/gdb/printcmd.c b/gdb/printcmd.c diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 5586767..144e851 100644 index eb3c3f9..ed8d67a 100644
--- a/gdb/printcmd.c --- a/gdb/printcmd.c
+++ b/gdb/printcmd.c +++ b/gdb/printcmd.c
@@ -971,6 +971,11 @@ print_command_1 (char *exp, int inspect, int voidprint) @@ -971,6 +971,11 @@ print_command_1 (char *exp, int inspect, int voidprint)
@ -5727,7 +5730,7 @@ index 5586767..144e851 100644
+ observer_attach_mark_used (print_types_mark_used); + observer_attach_mark_used (print_types_mark_used);
} }
diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c
index 8232436..e9fc8aa 100644 index 9a6b077..656d3a1 100644
--- a/gdb/python/py-type.c --- a/gdb/python/py-type.c
+++ b/gdb/python/py-type.c +++ b/gdb/python/py-type.c
@@ -29,6 +29,8 @@ @@ -29,6 +29,8 @@
@ -5913,7 +5916,7 @@ index 8232436..e9fc8aa 100644
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
index 3ade512..70e00e9 100644 index adb7658..1e1f7e9 100644
--- a/gdb/python/py-value.c --- a/gdb/python/py-value.c
+++ b/gdb/python/py-value.c +++ b/gdb/python/py-value.c
@@ -28,6 +28,7 @@ @@ -28,6 +28,7 @@
@ -5952,7 +5955,7 @@ index 3ade512..70e00e9 100644
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 60efc4a..824a076 100644 index ef04dd7..512b6e4 100644
--- a/gdb/solib-svr4.c --- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c
@@ -1276,7 +1276,8 @@ svr4_in_dynsym_resolve_code (CORE_ADDR pc) @@ -1276,7 +1276,8 @@ svr4_in_dynsym_resolve_code (CORE_ADDR pc)
@ -5966,7 +5969,7 @@ index 60efc4a..824a076 100644
/* Given an executable's ABFD and target, compute the entry-point /* Given an executable's ABFD and target, compute the entry-point
diff --git a/gdb/stack.c b/gdb/stack.c diff --git a/gdb/stack.c b/gdb/stack.c
index 1e0c2e6..23f7f56 100644 index 1d23806..c20df41 100644
--- a/gdb/stack.c --- a/gdb/stack.c
+++ b/gdb/stack.c +++ b/gdb/stack.c
@@ -366,6 +366,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame, @@ -366,6 +366,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
@ -5992,7 +5995,7 @@ index 1e0c2e6..23f7f56 100644
} }
else else
diff --git a/gdb/symmisc.c b/gdb/symmisc.c diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index ef63216..1cc9082 100644 index b292c3b..4db6629 100644
--- a/gdb/symmisc.c --- a/gdb/symmisc.c
+++ b/gdb/symmisc.c +++ b/gdb/symmisc.c
@@ -264,6 +264,9 @@ dump_msymbols (struct objfile *objfile, struct ui_file *outfile) @@ -264,6 +264,9 @@ dump_msymbols (struct objfile *objfile, struct ui_file *outfile)
@ -6006,7 +6009,7 @@ index ef63216..1cc9082 100644
ms_type = 'S'; ms_type = 'S';
break; break;
diff --git a/gdb/symtab.c b/gdb/symtab.c diff --git a/gdb/symtab.c b/gdb/symtab.c
index a6023b9..9d577b0 100644 index 4e68f1b..e6e91ba 100644
--- a/gdb/symtab.c --- a/gdb/symtab.c
+++ b/gdb/symtab.c +++ b/gdb/symtab.c
@@ -2988,7 +2988,7 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[], @@ -2988,7 +2988,7 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
@ -6019,7 +6022,7 @@ index a6023b9..9d577b0 100644
enum minimal_symbol_type ourtype2; enum minimal_symbol_type ourtype2;
enum minimal_symbol_type ourtype3; enum minimal_symbol_type ourtype3;
diff --git a/gdb/symtab.h b/gdb/symtab.h diff --git a/gdb/symtab.h b/gdb/symtab.h
index a4032f8..944dd33 100644 index e85b432..6d97d6e 100644
--- a/gdb/symtab.h --- a/gdb/symtab.h
+++ b/gdb/symtab.h +++ b/gdb/symtab.h
@@ -290,6 +290,9 @@ enum minimal_symbol_type @@ -290,6 +290,9 @@ enum minimal_symbol_type
@ -7234,7 +7237,7 @@ index 0000000..b05411e
+ +
+gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array" +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
diff --git a/gdb/testsuite/gdb.base/arrayidx.c b/gdb/testsuite/gdb.base/arrayidx.c diff --git a/gdb/testsuite/gdb.base/arrayidx.c b/gdb/testsuite/gdb.base/arrayidx.c
index ecc3289..f79ad40 100644 index 6c158bf..739ce34 100644
--- a/gdb/testsuite/gdb.base/arrayidx.c --- a/gdb/testsuite/gdb.base/arrayidx.c
+++ b/gdb/testsuite/gdb.base/arrayidx.c +++ b/gdb/testsuite/gdb.base/arrayidx.c
@@ -17,6 +17,13 @@ @@ -17,6 +17,13 @@
@ -7252,7 +7255,7 @@ index ecc3289..f79ad40 100644
main (void) main (void)
{ {
diff --git a/gdb/testsuite/gdb.base/arrayidx.exp b/gdb/testsuite/gdb.base/arrayidx.exp diff --git a/gdb/testsuite/gdb.base/arrayidx.exp b/gdb/testsuite/gdb.base/arrayidx.exp
index 3a33618..f2e11dd 100644 index d8ee5c0..de4ba75 100644
--- a/gdb/testsuite/gdb.base/arrayidx.exp --- a/gdb/testsuite/gdb.base/arrayidx.exp
+++ b/gdb/testsuite/gdb.base/arrayidx.exp +++ b/gdb/testsuite/gdb.base/arrayidx.exp
@@ -57,4 +57,12 @@ gdb_test "print array" \ @@ -57,4 +57,12 @@ gdb_test "print array" \
@ -7377,10 +7380,10 @@ index 0000000..106271f
+} +}
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.exp b/gdb/testsuite/gdb.base/gnu-ifunc.exp diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.exp b/gdb/testsuite/gdb.base/gnu-ifunc.exp
new file mode 100644 new file mode 100644
index 0000000..8ecf558 index 0000000..de59785
--- /dev/null --- /dev/null
+++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp +++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp
@@ -0,0 +1,110 @@ @@ -0,0 +1,130 @@
+# Copyright (C) 2009, 2010 Free Software Foundation, Inc. +# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ +
+# This program is free software; you can redistribute it and/or modify +# This program is free software; you can redistribute it and/or modify
@ -7401,12 +7404,17 @@ index 0000000..8ecf558
+} +}
+ +
+set testfile "gnu-ifunc" +set testfile "gnu-ifunc"
+set executable ${testfile}
+set srcfile ${testfile}.c +set srcfile ${testfile}.c
+set binfile ${objdir}/${subdir}/${testfile} +set binfile ${objdir}/${subdir}/${executable}
+set staticexecutable ${executable}-static
+set staticbinfile ${objdir}/${subdir}/${staticexecutable}
+ +
+set libfile "${testfile}-lib" +set libfile "${testfile}-lib"
+set libsrc ${libfile}.c +set libsrc ${libfile}.c
+set lib_so ${objdir}/${subdir}/${libfile}.so +set lib_so ${objdir}/${subdir}/${libfile}.so
+# $lib_o must not have {debug}, it would override the gnu-ifunc ELF markers.
+set lib_o ${objdir}/${subdir}/${libfile}.o
+ +
+# We need DWARF for the "final" function as we "step" into the function and GDB +# We need DWARF for the "final" function as we "step" into the function and GDB
+# would step-over the "final" function if there would be no line number debug +# would step-over the "final" function if there would be no line number debug
@ -7430,14 +7438,16 @@ index 0000000..8ecf558
+} +}
+ +
+if { [gdb_compile_shlib ${srcdir}/${subdir}/$libsrc $lib_so $lib_opts] != "" +if { [gdb_compile_shlib ${srcdir}/${subdir}/$libsrc $lib_so $lib_opts] != ""
+ || [gdb_compile ${srcdir}/${subdir}/$srcfile $binfile executable $exec_opts] != ""} { + || [gdb_compile ${srcdir}/${subdir}/$srcfile $binfile executable $exec_opts] != ""
+ || [gdb_compile ${srcdir}/${subdir}/$libsrc $lib_o object {}] != ""
+ || [gdb_compile "${srcdir}/${subdir}/$srcfile $lib_o" $staticbinfile executable {debug}] != ""} {
+ untested "Could not compile either $libsrc or $srcfile." + untested "Could not compile either $libsrc or $srcfile."
+ return -1 + return -1
+} +}
+ +
+# Start with a fresh gdb. +# Start with a fresh gdb.
+ +
+clean_restart $testfile +clean_restart $executable
+gdb_load_shlibs ${lib_so} +gdb_load_shlibs ${lib_so}
+ +
+if ![runto_main] then { +if ![runto_main] then {
@ -7491,6 +7501,19 @@ index 0000000..8ecf558
+ } + }
+} +}
+gdb_test "info sym $expect_out(1,string)" "gnu_ifunc in section .*" "info sym <gnu_ifunc-address>" +gdb_test "info sym $expect_out(1,string)" "gnu_ifunc in section .*" "info sym <gnu_ifunc-address>"
+
+
+# Test statically linked ifunc resolving during inferior start.
+# https://bugzilla.redhat.com/show_bug.cgi?id=624967
+
+if ![target_info exists gdb_stub] {
+ clean_restart $staticexecutable
+
+ gdb_breakpoint "gnu_ifunc"
+ gdb_breakpoint "main"
+ gdb_run_cmd
+ gdb_test "" "Breakpoint \[0-9\]*, main .*" "static gnu_ifunc"
+}
diff --git a/gdb/testsuite/gdb.base/internal-var-field-address.c b/gdb/testsuite/gdb.base/internal-var-field-address.c diff --git a/gdb/testsuite/gdb.base/internal-var-field-address.c b/gdb/testsuite/gdb.base/internal-var-field-address.c
new file mode 100644 new file mode 100644
index 0000000..eeb7b85 index 0000000..eeb7b85
@ -10240,7 +10263,7 @@ index 0000000..31f7656
+extern void marker (void); +extern void marker (void);
+extern void forkoff (int nr); +extern void forkoff (int nr);
diff --git a/gdb/testsuite/lib/pascal.exp b/gdb/testsuite/lib/pascal.exp diff --git a/gdb/testsuite/lib/pascal.exp b/gdb/testsuite/lib/pascal.exp
index af0b00d..e1a8dc4 100644 index 891da37..236c5ca 100644
--- a/gdb/testsuite/lib/pascal.exp --- a/gdb/testsuite/lib/pascal.exp
+++ b/gdb/testsuite/lib/pascal.exp +++ b/gdb/testsuite/lib/pascal.exp
@@ -37,6 +37,9 @@ proc pascal_init {} { @@ -37,6 +37,9 @@ proc pascal_init {} {
@ -10275,7 +10298,7 @@ index af0b00d..e1a8dc4 100644
set pascal_init_done 1 set pascal_init_done 1
} }
diff --git a/gdb/top.c b/gdb/top.c diff --git a/gdb/top.c b/gdb/top.c
index 45c9259..8856322 100644 index 702e05b..a41cdc6 100644
--- a/gdb/top.c --- a/gdb/top.c
+++ b/gdb/top.c +++ b/gdb/top.c
@@ -343,6 +343,7 @@ void @@ -343,6 +343,7 @@ void
@ -10287,7 +10310,7 @@ index 45c9259..8856322 100644
/* With multiple threads running while the one we're examining is /* With multiple threads running while the one we're examining is
stopped, the dcache can get stale without us being able to detect stopped, the dcache can get stale without us being able to detect
diff --git a/gdb/typeprint.c b/gdb/typeprint.c diff --git a/gdb/typeprint.c b/gdb/typeprint.c
index ce9f551..5f9d739 100644 index a1c44f2..036d939 100644
--- a/gdb/typeprint.c --- a/gdb/typeprint.c
+++ b/gdb/typeprint.c +++ b/gdb/typeprint.c
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
@ -10344,7 +10367,7 @@ index ce9f551..5f9d739 100644
static void static void
diff --git a/gdb/utils.c b/gdb/utils.c diff --git a/gdb/utils.c b/gdb/utils.c
index 02c7a37..894be69 100644 index 2b55449..6b481cd 100644
--- a/gdb/utils.c --- a/gdb/utils.c
+++ b/gdb/utils.c +++ b/gdb/utils.c
@@ -2198,6 +2198,36 @@ set_batch_flag_and_make_cleanup_restore_page_info (void) @@ -2198,6 +2198,36 @@ set_batch_flag_and_make_cleanup_restore_page_info (void)
@ -10385,7 +10408,7 @@ index 02c7a37..894be69 100644
static void static void
diff --git a/gdb/valarith.c b/gdb/valarith.c diff --git a/gdb/valarith.c b/gdb/valarith.c
index 6b212b2..c6b4843 100644 index f200b2c..4921b54 100644
--- a/gdb/valarith.c --- a/gdb/valarith.c
+++ b/gdb/valarith.c +++ b/gdb/valarith.c
@@ -165,12 +165,26 @@ value_subscript (struct value *array, LONGEST index) @@ -165,12 +165,26 @@ value_subscript (struct value *array, LONGEST index)
@ -10479,7 +10502,7 @@ index 6b212b2..c6b4843 100644
} }
diff --git a/gdb/valops.c b/gdb/valops.c diff --git a/gdb/valops.c b/gdb/valops.c
index 7ea6315..ad3dacf 100644 index c66c41e..8d76259 100644
--- a/gdb/valops.c --- a/gdb/valops.c
+++ b/gdb/valops.c +++ b/gdb/valops.c
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
@ -10628,7 +10651,7 @@ index 7ea6315..ad3dacf 100644
/* Given a value which is a function, return a value which is a pointer /* Given a value which is a function, return a value which is a pointer
diff --git a/gdb/valprint.c b/gdb/valprint.c diff --git a/gdb/valprint.c b/gdb/valprint.c
index 5cba023..4ef5e5a 100644 index 1b16f1f..eef7d61 100644
--- a/gdb/valprint.c --- a/gdb/valprint.c
+++ b/gdb/valprint.c +++ b/gdb/valprint.c
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
@ -10701,7 +10724,7 @@ index 5cba023..4ef5e5a 100644
/* Read LEN bytes of target memory at address MEMADDR, placing the /* Read LEN bytes of target memory at address MEMADDR, placing the
diff --git a/gdb/value.c b/gdb/value.c diff --git a/gdb/value.c b/gdb/value.c
index c7de323..645fef2 100644 index 58067e8..82efef0 100644
--- a/gdb/value.c --- a/gdb/value.c
+++ b/gdb/value.c +++ b/gdb/value.c
@@ -39,6 +39,7 @@ @@ -39,6 +39,7 @@
@ -10878,7 +10901,7 @@ index c7de323..645fef2 100644
+ observer_attach_mark_used (value_types_mark_used); + observer_attach_mark_used (value_types_mark_used);
} }
diff --git a/gdb/value.h b/gdb/value.h diff --git a/gdb/value.h b/gdb/value.h
index cf089be..0fb89f1 100644 index e637842..5f36aef 100644
--- a/gdb/value.h --- a/gdb/value.h
+++ b/gdb/value.h +++ b/gdb/value.h
@@ -389,6 +389,10 @@ extern struct value *value_from_double (struct type *type, DOUBLEST num); @@ -389,6 +389,10 @@ extern struct value *value_from_double (struct type *type, DOUBLEST num);
@ -10902,7 +10925,7 @@ index cf089be..0fb89f1 100644
/* User function handler. */ /* User function handler. */
diff --git a/gdb/varobj.c b/gdb/varobj.c diff --git a/gdb/varobj.c b/gdb/varobj.c
index e87d399..0ea54f5 100644 index d020fff..303ecdf 100644
--- a/gdb/varobj.c --- a/gdb/varobj.c
+++ b/gdb/varobj.c +++ b/gdb/varobj.c
@@ -26,6 +26,8 @@ @@ -26,6 +26,8 @@

View File

@ -1,52 +0,0 @@
http://sourceware.org/ml/gdb-patches/2011-01/msg00001.html
Subject: [patch] make info regression on --with-system-readline
Hi,
since:
[2/2] RFA: --with-system-readline -vs- gdb.texinfo
http://sourceware.org/ml/gdb-patches/2010-11/msg00270.html
$ rm -rf gdb-7.2.50.20101231; tar xjf gdb-7.2.50.20101231.tar.bz2; cd gdb-7.2.50.20101231; CFLAGS= ./configure --with-system-readline; make; rm gdb/doc/gdb.info; make -C gdb/doc gdb.info
->
[...]
makeinfo -I ./../mi -I . \
-o gdb.info ./gdb.texinfo
./gdb.texinfo:30521: @include `rluser.texi': No such file or directory.
./gdb.texinfo:30521: @include `inc-hist.texinfo': No such file or directory.
[...]
Fedora 14 x86_64
It is because GDBvn.texi has started to depend on the configure options.
I will check it in in the case of no comments.
Another issue is that GDBvn.texi and gdb-cfg.texi should not be distributed.
But that bug is a different one on top of this bug. That bug of a needless
files distribution is dependent on magic GDB `make dist' I do not know and
also that dist bug is not serious enough.
This is a regression.
Thanks,
Jan
doc/
2011-01-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* Makefile.in (GDBvn.texi): Add dependency on Makefile.
--- a/gdb/doc/Makefile.in
+++ b/gdb/doc/Makefile.in
@@ -298,7 +298,7 @@ refcard.pdf : refcard.tex $(REFEDITS)
rm -f sedref.log sedref.tex tmp.sed
# File to record current GDB version number (copied from main dir version.in)
-GDBvn.texi : ${gdbdir}/version.in
+GDBvn.texi : ${gdbdir}/version.in Makefile
echo "@set GDBVN `sed q $(srcdir)/../version.in`" > ./GDBvn.new
if [ -n "$(PKGVERSION)" ]; then \
echo "@set VERSION_PACKAGE $(PKGVERSION)" >> ./GDBvn.new; \

View File

@ -1,68 +0,0 @@
http://sourceware.org/ml/gdb-patches/2011-01/msg00002.html
Subject: [patch] make info out-of-src-tree regression on --with-system-readline
On Sat, 01 Jan 2011 02:13:24 +0100, Jan Kratochvil wrote:
> Another issue is that GDBvn.texi and gdb-cfg.texi should not be distributed.
> But that bug is a different one on top of this bug. That bug of a needless
> files distribution is dependent on magic GDB `make dist' I do not know and
> also that dist bug is not serious enough.
This part has a real consequence - the previous patch does not apply for build
trees out of the src tree. It may be even a makeinfo bug.
The change below is not needed for texi2dvi. In fact it even breaks it.
As Fedora does not package texi2roff I did not test it.
Another possibility is to error out if $(srcdir)/GDBvn.texi exists so that no
disambiguities may exist. GDBvn.texi would have to be removed from the
distributed tars.
Comment on this part is more than welcome.
This is a regression.
Thanks,
Jan
gdb/doc/
2011-01-01 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix out-of-src doc build if using --with-system-readline.
* Makefile.in (MAKEINFO): New comment.
(gdb.info, gdb/index.html): Remove $(srcdir)/ from gdb.texinfo.
--- a/gdb/doc/Makefile.in
+++ b/gdb/doc/Makefile.in
@@ -45,6 +45,9 @@ gdbdir = $(srcdir)/..
TEXIDIR=${gdbdir}/../texinfo
# where to find makeinfo, preferably one designed for texinfo-2
+# Call makeinfo always with gdb.texinfo and not $(srcdir)/gdb.texinfo.
+# In the latter case GDBvn.texi would be included also from $(srcdir) even if
+# different GDBvn.texi exists in the current directory.
MAKEINFO=makeinfo
MAKEHTML = $(MAKEINFO) --html
@@ -365,7 +368,7 @@ gdb.pdf: ${GDB_DOC_FILES}
# GDB MANUAL: info file
gdb.info: ${GDB_DOC_FILES}
$(MAKEINFO) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
- -o gdb.info $(srcdir)/gdb.texinfo
+ -o gdb.info gdb.texinfo
# GDB MANUAL: roff translations
# Try to use a recent texi2roff. v2 was put on prep in jan91.
@@ -440,7 +443,8 @@ gdb.mm: $(GDB_DOC_FILES) links2roff
# GDB MANUAL: HTML file
gdb/index.html: ${GDB_DOC_FILES}
- $(MAKEHTML) $(MAKEHTMLFLAGS) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) $(srcdir)/gdb.texinfo
+ $(MAKEHTML) $(MAKEHTMLFLAGS) $(READLINE_TEXI_INCFLAG) \
+ -I ${GDBMI_DIR} -I $(srcdir) gdb.texinfo
# Clean these up before each run. Avoids a catch 22 with not being
# able to re-generate these files (to fix a corruption) because these

View File

@ -1,11 +1,11 @@
gdb/linux-nat.c: gdb/linux-nat.c:
- Workaround RHEL-5 kernels for detaching SIGSTOPped processes (BZ 498595). - Workaround RHEL-5 kernels for detaching SIGSTOPped processes (BZ 498595).
Index: gdb-7.0.50.20100115/gdb/elfread.c Index: gdb-7.2.50.20110104/gdb/elfread.c
=================================================================== ===================================================================
--- gdb-7.0.50.20100115.orig/gdb/elfread.c 2010-01-15 22:19:28.000000000 +0100 --- gdb-7.2.50.20110104.orig/gdb/elfread.c 2011-01-04 06:15:59.000000000 +0100
+++ gdb-7.0.50.20100115/gdb/elfread.c 2010-01-15 22:19:34.000000000 +0100 +++ gdb-7.2.50.20110104/gdb/elfread.c 2011-01-04 06:17:54.000000000 +0100
@@ -582,7 +582,7 @@ elf_symtab_read (struct objfile *objfile @@ -832,7 +832,7 @@ resolve_gnu_ifunc (const char *function_
#define BUILD_ID_VERBOSE_NONE 0 #define BUILD_ID_VERBOSE_NONE 0
#define BUILD_ID_VERBOSE_FILENAMES 1 #define BUILD_ID_VERBOSE_FILENAMES 1
#define BUILD_ID_VERBOSE_BINARY_PARSE 2 #define BUILD_ID_VERBOSE_BINARY_PARSE 2
@ -14,7 +14,7 @@ Index: gdb-7.0.50.20100115/gdb/elfread.c
static void static void
show_build_id_verbose (struct ui_file *file, int from_tty, show_build_id_verbose (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value) struct cmd_list_element *c, const char *value)
@@ -1659,8 +1659,10 @@ find_separate_debug_file_by_buildid (str @@ -1920,8 +1920,10 @@ find_separate_debug_file_by_buildid (str
/* Prevent looping on a stripped .debug file. */ /* Prevent looping on a stripped .debug file. */
if (build_id_name != NULL && strcmp (build_id_name, objfile->name) == 0) if (build_id_name != NULL && strcmp (build_id_name, objfile->name) == 0)
{ {
@ -25,12 +25,12 @@ Index: gdb-7.0.50.20100115/gdb/elfread.c
xfree (build_id_name); xfree (build_id_name);
} }
else if (build_id_name != NULL) else if (build_id_name != NULL)
Index: gdb-7.0.50.20100115/gdb/corelow.c Index: gdb-7.2.50.20110104/gdb/corelow.c
=================================================================== ===================================================================
--- gdb-7.0.50.20100115.orig/gdb/corelow.c 2010-01-15 22:19:27.000000000 +0100 --- gdb-7.2.50.20110104.orig/gdb/corelow.c 2011-01-04 06:15:57.000000000 +0100
+++ gdb-7.0.50.20100115/gdb/corelow.c 2010-01-15 22:19:34.000000000 +0100 +++ gdb-7.2.50.20110104/gdb/corelow.c 2011-01-04 06:18:08.000000000 +0100
@@ -294,7 +294,7 @@ add_to_thread_list (bfd *abfd, asection @@ -280,7 +280,7 @@ add_to_thread_list (bfd *abfd, asection
inferior_ptid = ptid; /* Yes, make it current */ inferior_ptid = ptid; /* Yes, make it current. */
} }
-static int build_id_core_loads = 1; -static int build_id_core_loads = 1;
@ -38,11 +38,11 @@ Index: gdb-7.0.50.20100115/gdb/corelow.c
static void static void
build_id_locate_exec (int from_tty) build_id_locate_exec (int from_tty)
Index: gdb-7.0.50.20100115/gdb/linux-nat.c Index: gdb-7.2.50.20110104/gdb/linux-nat.c
=================================================================== ===================================================================
--- gdb-7.0.50.20100115.orig/gdb/linux-nat.c 2010-01-15 22:19:27.000000000 +0100 --- gdb-7.2.50.20110104.orig/gdb/linux-nat.c 2011-01-04 06:15:59.000000000 +0100
+++ gdb-7.0.50.20100115/gdb/linux-nat.c 2010-01-15 22:19:55.000000000 +0100 +++ gdb-7.2.50.20110104/gdb/linux-nat.c 2011-01-04 06:17:54.000000000 +0100
@@ -1768,8 +1768,22 @@ GPT: lwp %s had signal %s, but it is in @@ -1762,8 +1762,22 @@ GPT: lwp %s had signal %s, but it is in
target_signal_to_string (signo)); target_signal_to_string (signo));
} }

80
gdb-test-pid0-core.patch Normal file
View File

@ -0,0 +1,80 @@
https://bugzilla.redhat.com/show_bug.cgi?id=611435
Fix:
Re: [RFA]corelow.c: Add tid to add_to_thread_list
http://sourceware.org/ml/gdb-patches/2010-08/msg00085.html
http://sourceware.org/ml/gdb-cvs/2010-08/msg00026.html
2e5bcfdef1ec3883d48c3f87a4be5c0dff25e17e
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.core.bz2.uu
@@ -0,0 +1,20 @@
+begin 600 x86_64-pid0-core.core.bz2
+M0EIH.3%!629362,CA>P!$/'_____^*#EZ-A!SP36P&_:G0#=14``04A&8,'U
+M2*9`>$$)P`*RN"#*;#4R()IJ8C$TT&FC3$&@`T`#:C1H8C0T,@,FC,D"4T2!
+M"/2CU'B90]31ZAD#U`&AZF@/4:``!HT&F@!H<`#0-`-#0``#3$-&F@```#0R
+M``#")2FD]2>4]0TTT-!HTT--,0,"#$`R!I@AD`#1H,3&GZT.4TO$#H40/`0C
+M2$IRXS,<55!8T,&&,R.Z441"?J9I%G6GUA2!.[]Z"C5S[&19,%VS7E6[3"60
+M@`-*2G)QEQ(;?0Y<=MK]/U?Q)LB%+F37TJ9BI*46)H'*Z@V"`"$"P7]&<Q<?
+M>XZ:JE0E<*:#1M$P3G]>VCI)(A!O$64`5$4`E$$-.``7&(09`8HO`B6K!Q^&
+M562%N)2+0@*HB@%D@5$%!*0!L1&0D4D6\:-$A`)`+<6D82PP*H(J(H!?F;0$
+M%PXB7N!2D4!44`W7"ADEQM6<B]J<B(%1GF'5*0;_00KO55=43LPR0,Q?N72`
+M8"W*_;DV<AN#,XRU]Q-J2FDAFKAQ(9A+ZK$MCY#EI8:W-(15>O9TBO5,_]1)
+M($Q2))#),UE,QQK)E$,3D\W.>!4)QO8A_@^Z_SXS<OEHM*+"M8I1)-C(=DIJ
+MW+@WN)O)YO;3:I9YW-A$)N'2<A`F3),R3"3-'"S3E1;6VE*_95KD<!0050(G
+M,JV"N(Z:@0E#)50BSF)$T6_IN)#"Z8PLQ4UQ9]@Z'+;T]990-:Y:2`P26#!D
+MV+0L6"X@C9`GHAGSY7)%LWOY+E[2/>4;Q8=HV6[:&$@2$@$R29IBW)K%3"O`
+M9^Y0YJ&BXY1U2HTZ5)2H-V\_(.DZHWE+C#WS($(!I"3CUH2#(+(OWUV"*<<9
+MJ%A!J[%O.P&V%GI.`L7<1@0>,^1F\MY=V5UT,&NOG%7TTZ[03!@BHB@&)<A^
+4B.Z!/,0-IZ^W_Q=R13A0D",CA>P`
+`
+end
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/x86_64-pid0-core.exp
@@ -0,0 +1,46 @@
+# This testcase is part of GDB, the GNU debugger.
+#
+# Copyright 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Some kernel core files have PID 0 - for the idle task.
+
+if ![istarget "x86_64-*-*"] {
+ verbose "Skipping x86_64-pid0-core test."
+ return
+}
+
+set testfile "x86_64-pid0-core"
+set corebz2uufile ${srcdir}/${subdir}/${testfile}.core.bz2.uu
+set corefile ${objdir}/${subdir}/${testfile}.core
+
+if {[catch "system \"uudecode -o - ${corebz2uufile} | bzip2 -dc >${corefile}\""] != 0} {
+ untested "failed uudecode or bzip2"
+ return -1
+}
+file stat ${corefile} corestat
+if {$corestat(size) != 8798208} {
+ untested "uudecode or bzip2 produce invalid result"
+ return -1
+}
+
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+
+# Former crash was:
+# thread.c:884: internal-error: switch_to_thread: Assertion `inf != NULL' failed.
+gdb_test "core-file ${corefile}" "Program terminated with signal 11, Segmentation fault\\.\r\n.*"

View File

@ -0,0 +1,93 @@
http://sourceware.org/ml/gdb-patches/2011-01/msg00016.html
Subject: [patch] New testcase: py-prettyprint.exp: print hint_error
Hi,
PASS: gdb.python/py-prettyprint.exp: print hint_error
for
FYI: fix buglet in gdbpy_get_display_hint
http://sourceware.org/ml/gdb-patches/2010-07/msg00190.html
http://sourceware.org/ml/gdb-cvs/2010-07/msg00061.html
I would check it in as obvious but the 2011 ChangeLog move process has to be
done first. So to be checked in later.
Thanks,
Jan
gdb/testsuite/
2011-01-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.python/py-prettyprint.c (struct hint_error): New.
(main): New variable hint_error.
* gdb.python/py-prettyprint.exp (run_lang_tests): New testcase
"print hint_error".
* gdb.python/py-prettyprint.py (class pp_hint_error): New.
(register_pretty_printers): Register it.
--- a/gdb/testsuite/gdb.python/py-prettyprint.c
+++ b/gdb/testsuite/gdb.python/py-prettyprint.c
@@ -44,6 +44,10 @@ struct lazystring {
const char *lazy_str;
};
+struct hint_error {
+ int x;
+};
+
#ifdef __cplusplus
struct S : public s {
int zs;
@@ -215,6 +219,7 @@ main ()
nostring_type nstype;
struct ns ns, ns2;
struct lazystring estring, estring2;
+ struct hint_error hint_error;
nstype.elements = narray;
nstype.len = 0;
--- a/gdb/testsuite/gdb.python/py-prettyprint.exp
+++ b/gdb/testsuite/gdb.python/py-prettyprint.exp
@@ -97,6 +97,8 @@ proc run_lang_tests {lang} {
gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
gdb_test "print estring2" "\"embedded \", <incomplete sequence \\\\302>"
+ gdb_test "print hint_error" "Exception: hint failed\r\nhint_error_val"
+
gdb_test "print c" " = container \"container\" with 2 elements = {$nl *.0. = 23,$nl *.1. = 72$nl}"
gdb_test "print nstype" " = {$nl *.0. = 7,$nl *.1. = 42$nl}"
--- a/gdb/testsuite/gdb.python/py-prettyprint.py
+++ b/gdb/testsuite/gdb.python/py-prettyprint.py
@@ -156,6 +156,18 @@ class pp_ls:
def display_hint (self):
return 'string'
+class pp_hint_error:
+ "Throw error from display_hint"
+
+ def __init__(self, val):
+ self.val = val
+
+ def to_string(self):
+ return 'hint_error_val'
+
+ def display_hint (self):
+ raise Exception("hint failed")
+
class pp_outer:
"Print struct outer"
@@ -241,6 +253,9 @@ def register_pretty_printers ():
pretty_printers_dict[re.compile ('^struct outerstruct$')] = pp_outer
pretty_printers_dict[re.compile ('^outerstruct$')] = pp_outer
+ pretty_printers_dict[re.compile ('^struct hint_error$')] = pp_hint_error
+ pretty_printers_dict[re.compile ('^hint_error$')] = pp_hint_error
+
pretty_printers_dict = {}
register_pretty_printers ()

View File

@ -23,11 +23,11 @@ Name: gdb%{?_with_debug:-debug}
# Set version to contents of gdb/version.in. # Set version to contents of gdb/version.in.
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3 # NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch). # and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
Version: 7.2.50.20101231 Version: 7.2.50.20110104
# The release always contains a leading reserved number, start it at 1. # The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 6%{?_with_upstream:.upstream}%{dist} Release: 7%{?_with_upstream:.upstream}%{dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and GFDL and BSD and Public Domain License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and GFDL and BSD and Public Domain
Group: Development/Debuggers Group: Development/Debuggers
@ -504,11 +504,16 @@ Patch510: gdb-bz592031-siginfo-lost-4of5.patch
Patch511: gdb-bz592031-siginfo-lost-5of5.patch Patch511: gdb-bz592031-siginfo-lost-5of5.patch
# Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108). # Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108).
#=fedoratest
Patch526: gdb-bz634108-solib_address.patch Patch526: gdb-bz634108-solib_address.patch
# Fix --with-system-readline doc build upstream regression. # New testcase py-prettyprint.exp:print hint_error (for BZ 611569, BZ 629236).
Patch531: gdb-doc-system-readline.patch #=fedoratest
Patch532: gdb-doc-system-readline2.patch Patch541: gdb-test-pp-hint-error.patch
# New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
#=fedoratest
Patch542: gdb-test-pid0-core.patch
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa} BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
Requires: readline%{?_isa} Requires: readline%{?_isa}
@ -749,8 +754,8 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch510 -p1 %patch510 -p1
%patch511 -p1 %patch511 -p1
%patch526 -p1 %patch526 -p1
%patch531 -p1 %patch541 -p1
%patch532 -p1 %patch542 -p1
%patch393 -p1 %patch393 -p1
%patch335 -p1 %patch335 -p1
@ -1127,6 +1132,11 @@ fi
%endif %endif
%changelog %changelog
* Tue Jan 4 2011 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20110104-7.fc15
- Rebase to FSF GDB 7.2.50.20110104 (which is a 7.3 pre-release).
- New testcase py-prettyprint.exp:print hint_error (for BZ 611569, BZ 629236).
- New test gdb.arch/x86_64-pid0-core.exp for kernel PID 0 cores (BZ 611435).
* Sat Jan 1 2011 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20101231-6.fc15 * Sat Jan 1 2011 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.2.50.20101231-6.fc15
- Fix --with-system-readline doc build upstream regression. - Fix --with-system-readline doc build upstream regression.

View File

@ -1 +1 @@
bac361434830ddc3e83c40e187b60a96 gdb-7.2.50.20101231.tar.bz2 190e007189ea1522d34559f43ec40eed gdb-7.2.50.20110104.tar.bz2