- 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:
parent
0b11bd2616
commit
278e869a86
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
/gdb-7.2.50.20101231.tar.bz2
|
||||
/gdb-7.2.50.20110104.tar.bz2
|
||||
|
@ -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.1.90.20100711/gdb/corelow.c 2010-07-12 11:07:33.000000000 +0200
|
||||
--- gdb-7.2.50.20110104.orig/gdb/corelow.c 2011-01-01 16:32:59.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/corelow.c 2011-01-04 06:15:49.000000000 +0100
|
||||
@@ -47,6 +47,9 @@
|
||||
#include "filenames.h"
|
||||
#include "progspace.h"
|
||||
@ -12,8 +12,8 @@ Index: gdb-7.1.90.20100711/gdb/corelow.c
|
||||
|
||||
|
||||
#ifndef O_LARGEFILE
|
||||
@@ -289,6 +292,52 @@ add_to_thread_list (bfd *abfd, asection
|
||||
inferior_ptid = ptid; /* Yes, make it current */
|
||||
@@ -277,6 +280,52 @@ add_to_thread_list (bfd *abfd, asection
|
||||
inferior_ptid = ptid; /* Yes, make it current. */
|
||||
}
|
||||
|
||||
+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. */
|
||||
|
||||
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);
|
||||
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
|
||||
post_create_inferior throws (can happen easilly if you're loading
|
||||
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 ();
|
||||
|
||||
add_target (&core_ops);
|
||||
@ -90,11 +90,11 @@ Index: gdb-7.1.90.20100711/gdb/corelow.c
|
||||
+ NULL, NULL, NULL,
|
||||
+ &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.1.90.20100711/gdb/doc/gdb.texinfo 2010-07-12 11:05:57.000000000 +0200
|
||||
@@ -14980,6 +14980,27 @@ information files.
|
||||
--- gdb-7.2.50.20110104.orig/gdb/doc/gdb.texinfo 2011-01-04 06:15:02.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/doc/gdb.texinfo 2011-01-04 06:15:14.000000000 +0100
|
||||
@@ -15267,6 +15267,27 @@ information files.
|
||||
|
||||
@end table
|
||||
|
||||
@ -122,11 +122,11 @@ Index: gdb-7.1.90.20100711/gdb/doc/gdb.texinfo
|
||||
@cindex @code{.gnu_debuglink} sections
|
||||
@cindex debug link sections
|
||||
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.1.90.20100711/gdb/solib-svr4.c 2010-07-12 11:05:57.000000000 +0200
|
||||
@@ -1181,9 +1181,49 @@ svr4_current_sos (void)
|
||||
--- gdb-7.2.50.20110104.orig/gdb/solib-svr4.c 2011-01-04 06:15:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/solib-svr4.c 2011-01-04 06:15:14.000000000 +0100
|
||||
@@ -1179,9 +1179,49 @@ svr4_current_sos (void)
|
||||
safe_strerror (errcode));
|
||||
else
|
||||
{
|
||||
@ -179,10 +179,10 @@ Index: gdb-7.1.90.20100711/gdb/solib-svr4.c
|
||||
}
|
||||
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.1.90.20100711/gdb/elfread.c 2010-07-12 11:30:30.000000000 +0200
|
||||
--- gdb-7.2.50.20110104.orig/gdb/elfread.c 2011-01-04 06:15:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/elfread.c 2011-01-04 06:15:14.000000000 +0100
|
||||
@@ -38,6 +38,10 @@
|
||||
#include "demangle.h"
|
||||
#include "psympriv.h"
|
||||
@ -194,7 +194,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@ -262,7 +262,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
@ -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. */
|
||||
|
||||
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)
|
||||
return 0;
|
||||
|
||||
@ -620,7 +620,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
|
||||
|
||||
if (found == NULL)
|
||||
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;
|
||||
}
|
||||
|
||||
@ -641,7 +641,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
|
||||
|
||||
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
|
||||
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++ = '/';
|
||||
while (size-- > 0)
|
||||
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. */
|
||||
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)
|
||||
@ -859,7 +859,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
|
||||
xfree (build_id);
|
||||
/* Prevent looping on a stripped .debug file. */
|
||||
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);
|
||||
}
|
||||
else if (build_id_name != NULL)
|
||||
@ -868,7 +868,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
|
||||
}
|
||||
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'. */
|
||||
if (!objfile_has_partial_symbols (objfile))
|
||||
{
|
||||
@ -881,7 +881,7 @@ Index: gdb-7.1.90.20100711/gdb/elfread.c
|
||||
|
||||
if (debugfile == NULL)
|
||||
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);
|
||||
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)
|
||||
{
|
||||
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);
|
||||
}
|
||||
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.1.90.20100711/gdb/symfile.h 2010-07-12 11:06:18.000000000 +0200
|
||||
@@ -562,6 +562,13 @@ void free_symfile_segment_data (struct s
|
||||
--- gdb-7.2.50.20110104.orig/gdb/symfile.h 2011-01-01 16:33:16.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/symfile.h 2011-01-04 06:15:14.000000000 +0100
|
||||
@@ -553,6 +553,13 @@ void free_symfile_segment_data (struct s
|
||||
|
||||
extern struct cleanup *increment_reading_symtab (void);
|
||||
|
||||
@ -929,11 +929,11 @@ Index: gdb-7.1.90.20100711/gdb/symfile.h
|
||||
/* From dwarf2read.c */
|
||||
|
||||
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.1.90.20100711/gdb/testsuite/lib/gdb.exp 2010-07-12 11:05:57.000000000 +0200
|
||||
@@ -1353,6 +1353,16 @@ proc default_gdb_start { } {
|
||||
--- gdb-7.2.50.20110104.orig/gdb/testsuite/lib/gdb.exp 2011-01-04 06:15:01.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/testsuite/lib/gdb.exp 2011-01-04 06:15:14.000000000 +0100
|
||||
@@ -1390,6 +1390,16 @@ proc default_gdb_start { } {
|
||||
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;
|
||||
}
|
||||
|
||||
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.1.90.20100711/gdb/testsuite/lib/mi-support.exp 2010-07-12 11:05:57.000000000 +0200
|
||||
--- gdb-7.2.50.20110104.orig/gdb/testsuite/lib/mi-support.exp 2011-01-01 16:33:52.000000000 +0100
|
||||
+++ 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 } {
|
||||
}
|
||||
}
|
||||
@ -971,11 +971,11 @@ Index: gdb-7.1.90.20100711/gdb/testsuite/lib/mi-support.exp
|
||||
|
||||
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.1.90.20100711/gdb/objfiles.h 2010-07-12 11:07:08.000000000 +0200
|
||||
@@ -426,6 +426,10 @@ struct objfile
|
||||
--- gdb-7.2.50.20110104.orig/gdb/objfiles.h 2011-01-01 16:33:12.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/objfiles.h 2011-01-04 06:15:14.000000000 +0100
|
||||
@@ -433,6 +433,10 @@ struct objfile
|
||||
|
||||
#define OBJF_USERLOADED (1 << 3) /* User loaded */
|
||||
|
||||
|
177
gdb-archer.patch
177
gdb-archer.patch
@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
|
||||
http://sourceware.org/gdb/wiki/ArcherBranchManagement
|
||||
|
||||
GIT snapshot:
|
||||
commit 18d3d5d564eac7ad10bc972c957e6159a4276d3f
|
||||
commit 2be613ebefe3f3c2a5bb329c207d435024af7a2b
|
||||
|
||||
branch `archer' - the merge of branches:
|
||||
archer-jankratochvil-vla
|
||||
@ -44,7 +44,7 @@ index 3efff2e..99097bf 100644
|
||||
return 1;
|
||||
|
||||
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
|
||||
+++ b/gdb/amd64-linux-nat.c
|
||||
@@ -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
|
||||
index f932d41..6e2cd88 100644
|
||||
index 776ae53..3544cf2 100644
|
||||
--- a/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;
|
||||
}
|
||||
@ -292,10 +292,10 @@ index f932d41..6e2cd88 100644
|
||||
+ return SYMBOL_SYMTAB (func)->objfile;
|
||||
+}
|
||||
diff --git a/gdb/block.h b/gdb/block.h
|
||||
index 7eedb6c..a517e80 100644
|
||||
index 07d5bc7..fad89b1 100644
|
||||
--- a/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);
|
||||
|
||||
@ -303,7 +303,7 @@ index 7eedb6c..a517e80 100644
|
||||
+
|
||||
#endif /* BLOCK_H */
|
||||
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
|
||||
index 366bedd..97f418a 100644
|
||||
index 4cfc6e6..dc64d51 100644
|
||||
--- a/gdb/blockframe.c
|
||||
+++ b/gdb/blockframe.c
|
||||
@@ -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
|
||||
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
|
||||
index 809eb53..8f92c4e 100644
|
||||
index 785155c..63d736f 100644
|
||||
--- a/gdb/breakpoint.c
|
||||
+++ b/gdb/breakpoint.c
|
||||
@@ -62,6 +62,7 @@
|
||||
@ -1026,10 +1026,10 @@ index 809eb53..8f92c4e 100644
|
||||
+ observer_attach_mark_used (breakpoint_types_mark_used);
|
||||
}
|
||||
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
|
||||
index bfae8d9..a058e46 100644
|
||||
index 2d815c2..66b3ece 100644
|
||||
--- a/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. */
|
||||
bp_jit_event,
|
||||
@ -1038,16 +1038,18 @@ index bfae8d9..a058e46 100644
|
||||
+ 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
|
||||
index 04f8127..2e29eb2 100644
|
||||
index feee86d..363c62b 100644
|
||||
--- a/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, "[");
|
||||
- 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
|
||||
+ != RANGE_BOUND_KIND_CONSTANT)
|
||||
+ {
|
||||
@ -1055,11 +1057,12 @@ index 04f8127..2e29eb2 100644
|
||||
+ fprintf_filtered (stream, "variable");
|
||||
+ }
|
||||
+ 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, "]");
|
||||
|
||||
c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
|
||||
diff --git a/gdb/defs.h b/gdb/defs.h
|
||||
index 489de74..335d3f5 100644
|
||||
index 9d8f6fc..229378a 100644
|
||||
--- a/gdb/defs.h
|
||||
+++ b/gdb/defs.h
|
||||
@@ -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.
|
||||
See testsuite/gdb.gdb/observer.exp.
|
||||
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
|
||||
index 29bfcf4..c339378 100644
|
||||
index 4ef6d55..1a3580a 100644
|
||||
--- a/gdb/dwarf2expr.c
|
||||
+++ b/gdb/dwarf2expr.c
|
||||
@@ -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);
|
||||
}
|
||||
diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h
|
||||
index 68cc667..5b5f29c 100644
|
||||
index 3858dc8..a172585 100644
|
||||
--- a/gdb/dwarf2expr.h
|
||||
+++ b/gdb/dwarf2expr.h
|
||||
@@ -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*,
|
||||
DW_OP_fbreg, DW_OP_push_object_address, etc., and the maximum
|
||||
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
|
||||
index f0e08c7..d5c0c36 100644
|
||||
index 12e4dac..943b37d 100644
|
||||
--- a/gdb/dwarf2loc.c
|
||||
+++ b/gdb/dwarf2loc.c
|
||||
@@ -133,6 +133,9 @@ struct dwarf_expr_baton
|
||||
@ -1582,7 +1585,7 @@ index f0e08c7..d5c0c36 100644
|
||||
+ missing_tracepoint_var_ref
|
||||
+};
|
||||
diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
|
||||
index e94346c..55beec2 100644
|
||||
index ee52506..6a77c3f 100644
|
||||
--- a/gdb/dwarf2loc.h
|
||||
+++ b/gdb/dwarf2loc.h
|
||||
@@ -105,5 +105,14 @@ struct dwarf2_loclist_baton
|
||||
@ -1601,7 +1604,7 @@ index e94346c..55beec2 100644
|
||||
|
||||
#endif /* dwarf2loc.h */
|
||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
||||
index 80770f8..9908495 100644
|
||||
index 82a2f0b..327164c 100644
|
||||
--- a/gdb/dwarf2read.c
|
||||
+++ b/gdb/dwarf2read.c
|
||||
@@ -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
|
||||
we should not be doing so, because the type-specific area is
|
||||
diff --git a/gdb/elfread.c b/gdb/elfread.c
|
||||
index d607b87..2aa7dd9 100644
|
||||
index 5944eb0..9b283e1 100644
|
||||
--- a/gdb/elfread.c
|
||||
+++ b/gdb/elfread.c
|
||||
@@ -37,6 +37,7 @@
|
||||
@ -2556,7 +2559,7 @@ index d607b87..2aa7dd9 100644
|
||||
|
||||
/* Add synthetic symbols - for instance, names for any PLT entries. */
|
||||
diff --git a/gdb/eval.c b/gdb/eval.c
|
||||
index 16e98ae..4fa4d5f 100644
|
||||
index fbd3698..56d51c8 100644
|
||||
--- a/gdb/eval.c
|
||||
+++ b/gdb/eval.c
|
||||
@@ -44,6 +44,7 @@
|
||||
@ -2784,7 +2787,7 @@ index 16e98ae..4fa4d5f 100644
|
||||
default:
|
||||
val = evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
|
||||
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
|
||||
+++ b/gdb/f-lang.h
|
||||
@@ -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,
|
||||
const struct value *,
|
||||
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
|
||||
+++ b/gdb/f-typeprint.c
|
||||
@@ -32,7 +32,7 @@
|
||||
@ -2867,7 +2870,7 @@ index d35a255..dec81d5 100644
|
||||
{
|
||||
case TYPE_CODE_ARRAY:
|
||||
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
|
||||
+++ b/gdb/f-valprint.c
|
||||
@@ -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))
|
||||
{
|
||||
diff --git a/gdb/findvar.c b/gdb/findvar.c
|
||||
index e0ca12c..de6311a 100644
|
||||
index 5f97422..2c2670e 100644
|
||||
--- a/gdb/findvar.c
|
||||
+++ b/gdb/findvar.c
|
||||
@@ -35,6 +35,7 @@
|
||||
@ -3216,7 +3219,7 @@ index e0ca12c..de6311a 100644
|
||||
else
|
||||
{
|
||||
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
||||
index b651098..70269d6 100644
|
||||
index fac1e98..cbc3aeb 100644
|
||||
--- a/gdb/gdbtypes.c
|
||||
+++ b/gdb/gdbtypes.c
|
||||
@@ -39,6 +39,9 @@
|
||||
@ -4146,7 +4149,7 @@ index b651098..70269d6 100644
|
||||
|
||||
add_setshow_zinteger_cmd ("overload", no_class, &overload_debug, _("\
|
||||
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
|
||||
index 1ce2d91..133f583 100644
|
||||
index 9898991..652994c 100644
|
||||
--- a/gdb/gdbtypes.h
|
||||
+++ b/gdb/gdbtypes.h
|
||||
@@ -170,6 +170,7 @@ enum type_flag_value
|
||||
@ -4423,7 +4426,7 @@ index 1ce2d91..133f583 100644
|
||||
+
|
||||
#endif /* GDBTYPES_H */
|
||||
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
|
||||
+++ b/gdb/i386-linux-nat.c
|
||||
@@ -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
|
||||
index eaa3644..7f32bd2 100644
|
||||
index 900fb40..f28c45b 100644
|
||||
--- a/gdb/i386-nat.c
|
||||
+++ b/gdb/i386-nat.c
|
||||
@@ -25,6 +25,7 @@
|
||||
@ -4986,7 +4989,7 @@ index eaa3644..7f32bd2 100644
|
||||
|
||||
void
|
||||
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
|
||||
+++ b/gdb/i386-nat.h
|
||||
@@ -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
|
||||
set once. It also enables the 'maint set/show show-debug-regs'
|
||||
diff --git a/gdb/infcall.c b/gdb/infcall.c
|
||||
index 6eb1bbf..7323c4b 100644
|
||||
index 85b814a..f0cb929 100644
|
||||
--- a/gdb/infcall.c
|
||||
+++ b/gdb/infcall.c
|
||||
@@ -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.
|
||||
Their values are characters since their addresses are char */
|
||||
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
|
||||
+++ b/gdb/linux-nat.c
|
||||
@@ -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
|
||||
applications, so we only create one new LWP, and the previous list
|
||||
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
|
||||
+++ b/gdb/linux-nat.h
|
||||
@@ -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. */
|
||||
struct target_ops * linux_target (void);
|
||||
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
|
||||
+++ b/gdb/mi/mi-cmd-var.c
|
||||
@@ -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 */);
|
||||
diff --git a/gdb/minsyms.c b/gdb/minsyms.c
|
||||
index 0a57e77..6be74df 100644
|
||||
index e870954..0436b57 100644
|
||||
--- a/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)
|
||||
{
|
||||
if (strcmp (SYMBOL_LINKAGE_NAME (msymbol), name) == 0 &&
|
||||
@ -5245,7 +5248,7 @@ index 0a57e77..6be74df 100644
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
@ -5262,7 +5265,7 @@ index 0a57e77..6be74df 100644
|
||||
/* Find the minimal symbol named NAME, and return both the minsym
|
||||
struct and its objfile. This only checks the linkage name. Sets
|
||||
*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)
|
||||
{
|
||||
case mst_text:
|
||||
@ -5270,7 +5273,7 @@ index 0a57e77..6be74df 100644
|
||||
case mst_file_text:
|
||||
case mst_solib_trampoline:
|
||||
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)
|
||||
{
|
||||
@ -5281,7 +5284,7 @@ index 0a57e77..6be74df 100644
|
||||
SYMBOL_LINKAGE_NAME (tsymbol)) == 0)
|
||||
return SYMBOL_VALUE_ADDRESS (msymbol);
|
||||
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
|
||||
+++ b/gdb/p-valprint.c
|
||||
@@ -38,6 +38,7 @@
|
||||
@ -5358,7 +5361,7 @@ index 47663bd..d9fb878 100644
|
||||
}
|
||||
|
||||
diff --git a/gdb/parse.c b/gdb/parse.c
|
||||
index 18038ed..1438ae0 100644
|
||||
index daee633..1f9a0d1 100644
|
||||
--- a/gdb/parse.c
|
||||
+++ b/gdb/parse.c
|
||||
@@ -487,9 +487,21 @@ write_exp_msymbol (struct minimal_symbol *msymbol)
|
||||
@ -5510,7 +5513,7 @@ index 18038ed..1438ae0 100644
|
||||
|
||||
void
|
||||
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
|
||||
+++ b/gdb/parser-defs.h
|
||||
@@ -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 */
|
||||
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
|
||||
+++ 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;
|
||||
}
|
||||
|
||||
@ -5564,7 +5567,7 @@ index 18ddee7..ebb0022 100644
|
||||
struct ppc_hw_breakpoint p;
|
||||
|
||||
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.condition_value = 0;
|
||||
|
||||
@ -5592,7 +5595,7 @@ index 18ddee7..ebb0022 100644
|
||||
struct ppc_hw_breakpoint p;
|
||||
|
||||
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.condition_value = 0;
|
||||
|
||||
@ -5602,7 +5605,7 @@ index 18ddee7..ebb0022 100644
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
@ -5624,7 +5627,7 @@ index 18ddee7..ebb0022 100644
|
||||
int ret = -1;
|
||||
|
||||
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.addr2 = 0;
|
||||
|
||||
@ -5634,7 +5637,7 @@ index 18ddee7..ebb0022 100644
|
||||
|
||||
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;
|
||||
|
||||
@ -5648,7 +5651,7 @@ index 18ddee7..ebb0022 100644
|
||||
}
|
||||
|
||||
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,
|
||||
struct expression *cond)
|
||||
{
|
||||
@ -5657,7 +5660,7 @@ index 18ddee7..ebb0022 100644
|
||||
int ret = -1;
|
||||
|
||||
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.addr2 = 0;
|
||||
|
||||
@ -5681,7 +5684,7 @@ index 18ddee7..ebb0022 100644
|
||||
|
||||
return ret;
|
||||
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
|
||||
index 5586767..144e851 100644
|
||||
index eb3c3f9..ed8d67a 100644
|
||||
--- a/gdb/printcmd.c
|
||||
+++ b/gdb/printcmd.c
|
||||
@@ -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);
|
||||
}
|
||||
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
|
||||
+++ b/gdb/python/py-type.c
|
||||
@@ -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
|
||||
index 3ade512..70e00e9 100644
|
||||
index adb7658..1e1f7e9 100644
|
||||
--- a/gdb/python/py-value.c
|
||||
+++ b/gdb/python/py-value.c
|
||||
@@ -28,6 +28,7 @@
|
||||
@ -5952,7 +5955,7 @@ index 3ade512..70e00e9 100644
|
||||
|
||||
|
||||
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
|
||||
+++ b/gdb/solib-svr4.c
|
||||
@@ -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
|
||||
diff --git a/gdb/stack.c b/gdb/stack.c
|
||||
index 1e0c2e6..23f7f56 100644
|
||||
index 1d23806..c20df41 100644
|
||||
--- a/gdb/stack.c
|
||||
+++ b/gdb/stack.c
|
||||
@@ -366,6 +366,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
|
||||
@ -5992,7 +5995,7 @@ index 1e0c2e6..23f7f56 100644
|
||||
}
|
||||
else
|
||||
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
|
||||
index ef63216..1cc9082 100644
|
||||
index b292c3b..4db6629 100644
|
||||
--- a/gdb/symmisc.c
|
||||
+++ b/gdb/symmisc.c
|
||||
@@ -264,6 +264,9 @@ dump_msymbols (struct objfile *objfile, struct ui_file *outfile)
|
||||
@ -6006,7 +6009,7 @@ index ef63216..1cc9082 100644
|
||||
ms_type = 'S';
|
||||
break;
|
||||
diff --git a/gdb/symtab.c b/gdb/symtab.c
|
||||
index a6023b9..9d577b0 100644
|
||||
index 4e68f1b..e6e91ba 100644
|
||||
--- a/gdb/symtab.c
|
||||
+++ b/gdb/symtab.c
|
||||
@@ -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 ourtype3;
|
||||
diff --git a/gdb/symtab.h b/gdb/symtab.h
|
||||
index a4032f8..944dd33 100644
|
||||
index e85b432..6d97d6e 100644
|
||||
--- a/gdb/symtab.h
|
||||
+++ b/gdb/symtab.h
|
||||
@@ -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"
|
||||
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
|
||||
+++ b/gdb/testsuite/gdb.base/arrayidx.c
|
||||
@@ -17,6 +17,13 @@
|
||||
@ -7252,7 +7255,7 @@ index ecc3289..f79ad40 100644
|
||||
main (void)
|
||||
{
|
||||
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
|
||||
+++ b/gdb/testsuite/gdb.base/arrayidx.exp
|
||||
@@ -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
|
||||
new file mode 100644
|
||||
index 0000000..8ecf558
|
||||
index 0000000..de59785
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp
|
||||
@@ -0,0 +1,110 @@
|
||||
@@ -0,0 +1,130 @@
|
||||
+# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
|
||||
+
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
@ -7401,12 +7404,17 @@ index 0000000..8ecf558
|
||||
+}
|
||||
+
|
||||
+set testfile "gnu-ifunc"
|
||||
+set executable ${testfile}
|
||||
+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 libsrc ${libfile}.c
|
||||
+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
|
||||
+# 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] != ""
|
||||
+ || [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."
|
||||
+ return -1
|
||||
+}
|
||||
+
|
||||
+# Start with a fresh gdb.
|
||||
+
|
||||
+clean_restart $testfile
|
||||
+clean_restart $executable
|
||||
+gdb_load_shlibs ${lib_so}
|
||||
+
|
||||
+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>"
|
||||
+
|
||||
+
|
||||
+# 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
|
||||
new file mode 100644
|
||||
index 0000000..eeb7b85
|
||||
@ -10240,7 +10263,7 @@ index 0000000..31f7656
|
||||
+extern void marker (void);
|
||||
+extern void forkoff (int nr);
|
||||
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
|
||||
+++ b/gdb/testsuite/lib/pascal.exp
|
||||
@@ -37,6 +37,9 @@ proc pascal_init {} {
|
||||
@ -10275,7 +10298,7 @@ index af0b00d..e1a8dc4 100644
|
||||
set pascal_init_done 1
|
||||
}
|
||||
diff --git a/gdb/top.c b/gdb/top.c
|
||||
index 45c9259..8856322 100644
|
||||
index 702e05b..a41cdc6 100644
|
||||
--- a/gdb/top.c
|
||||
+++ b/gdb/top.c
|
||||
@@ -343,6 +343,7 @@ void
|
||||
@ -10287,7 +10310,7 @@ index 45c9259..8856322 100644
|
||||
/* With multiple threads running while the one we're examining is
|
||||
stopped, the dcache can get stale without us being able to detect
|
||||
diff --git a/gdb/typeprint.c b/gdb/typeprint.c
|
||||
index ce9f551..5f9d739 100644
|
||||
index a1c44f2..036d939 100644
|
||||
--- a/gdb/typeprint.c
|
||||
+++ b/gdb/typeprint.c
|
||||
@@ -36,6 +36,7 @@
|
||||
@ -10344,7 +10367,7 @@ index ce9f551..5f9d739 100644
|
||||
|
||||
static void
|
||||
diff --git a/gdb/utils.c b/gdb/utils.c
|
||||
index 02c7a37..894be69 100644
|
||||
index 2b55449..6b481cd 100644
|
||||
--- a/gdb/utils.c
|
||||
+++ b/gdb/utils.c
|
||||
@@ -2198,6 +2198,36 @@ set_batch_flag_and_make_cleanup_restore_page_info (void)
|
||||
@ -10385,7 +10408,7 @@ index 02c7a37..894be69 100644
|
||||
|
||||
static void
|
||||
diff --git a/gdb/valarith.c b/gdb/valarith.c
|
||||
index 6b212b2..c6b4843 100644
|
||||
index f200b2c..4921b54 100644
|
||||
--- a/gdb/valarith.c
|
||||
+++ b/gdb/valarith.c
|
||||
@@ -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
|
||||
index 7ea6315..ad3dacf 100644
|
||||
index c66c41e..8d76259 100644
|
||||
--- a/gdb/valops.c
|
||||
+++ b/gdb/valops.c
|
||||
@@ -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
|
||||
diff --git a/gdb/valprint.c b/gdb/valprint.c
|
||||
index 5cba023..4ef5e5a 100644
|
||||
index 1b16f1f..eef7d61 100644
|
||||
--- a/gdb/valprint.c
|
||||
+++ b/gdb/valprint.c
|
||||
@@ -36,6 +36,7 @@
|
||||
@ -10701,7 +10724,7 @@ index 5cba023..4ef5e5a 100644
|
||||
|
||||
/* Read LEN bytes of target memory at address MEMADDR, placing the
|
||||
diff --git a/gdb/value.c b/gdb/value.c
|
||||
index c7de323..645fef2 100644
|
||||
index 58067e8..82efef0 100644
|
||||
--- a/gdb/value.c
|
||||
+++ b/gdb/value.c
|
||||
@@ -39,6 +39,7 @@
|
||||
@ -10878,7 +10901,7 @@ index c7de323..645fef2 100644
|
||||
+ observer_attach_mark_used (value_types_mark_used);
|
||||
}
|
||||
diff --git a/gdb/value.h b/gdb/value.h
|
||||
index cf089be..0fb89f1 100644
|
||||
index e637842..5f36aef 100644
|
||||
--- a/gdb/value.h
|
||||
+++ b/gdb/value.h
|
||||
@@ -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. */
|
||||
|
||||
diff --git a/gdb/varobj.c b/gdb/varobj.c
|
||||
index e87d399..0ea54f5 100644
|
||||
index d020fff..303ecdf 100644
|
||||
--- a/gdb/varobj.c
|
||||
+++ b/gdb/varobj.c
|
||||
@@ -26,6 +26,8 @@
|
||||
|
@ -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; \
|
||||
|
@ -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
|
||||
|
@ -1,11 +1,11 @@
|
||||
gdb/linux-nat.c:
|
||||
- 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.0.50.20100115/gdb/elfread.c 2010-01-15 22:19:34.000000000 +0100
|
||||
@@ -582,7 +582,7 @@ elf_symtab_read (struct objfile *objfile
|
||||
--- gdb-7.2.50.20110104.orig/gdb/elfread.c 2011-01-04 06:15:59.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/elfread.c 2011-01-04 06:17:54.000000000 +0100
|
||||
@@ -832,7 +832,7 @@ resolve_gnu_ifunc (const char *function_
|
||||
#define BUILD_ID_VERBOSE_NONE 0
|
||||
#define BUILD_ID_VERBOSE_FILENAMES 1
|
||||
#define BUILD_ID_VERBOSE_BINARY_PARSE 2
|
||||
@ -14,7 +14,7 @@ Index: gdb-7.0.50.20100115/gdb/elfread.c
|
||||
static void
|
||||
show_build_id_verbose (struct ui_file *file, int from_tty,
|
||||
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. */
|
||||
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);
|
||||
}
|
||||
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.0.50.20100115/gdb/corelow.c 2010-01-15 22:19:34.000000000 +0100
|
||||
@@ -294,7 +294,7 @@ add_to_thread_list (bfd *abfd, asection
|
||||
inferior_ptid = ptid; /* Yes, make it current */
|
||||
--- gdb-7.2.50.20110104.orig/gdb/corelow.c 2011-01-04 06:15:57.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/corelow.c 2011-01-04 06:18:08.000000000 +0100
|
||||
@@ -280,7 +280,7 @@ add_to_thread_list (bfd *abfd, asection
|
||||
inferior_ptid = ptid; /* Yes, make it current. */
|
||||
}
|
||||
|
||||
-static int build_id_core_loads = 1;
|
||||
@ -38,11 +38,11 @@ Index: gdb-7.0.50.20100115/gdb/corelow.c
|
||||
|
||||
static void
|
||||
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.0.50.20100115/gdb/linux-nat.c 2010-01-15 22:19:55.000000000 +0100
|
||||
@@ -1768,8 +1768,22 @@ GPT: lwp %s had signal %s, but it is in
|
||||
--- gdb-7.2.50.20110104.orig/gdb/linux-nat.c 2011-01-04 06:15:59.000000000 +0100
|
||||
+++ gdb-7.2.50.20110104/gdb/linux-nat.c 2011-01-04 06:17:54.000000000 +0100
|
||||
@@ -1762,8 +1762,22 @@ GPT: lwp %s had signal %s, but it is in
|
||||
target_signal_to_string (signo));
|
||||
}
|
||||
|
||||
|
80
gdb-test-pid0-core.patch
Normal file
80
gdb-test-pid0-core.patch
Normal 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.*"
|
93
gdb-test-pp-hint-error.patch
Normal file
93
gdb-test-pp-hint-error.patch
Normal 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 ()
|
||||
|
24
gdb.spec
24
gdb.spec
@ -23,11 +23,11 @@ Name: gdb%{?_with_debug:-debug}
|
||||
# Set version to contents of gdb/version.in.
|
||||
# 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).
|
||||
Version: 7.2.50.20101231
|
||||
Version: 7.2.50.20110104
|
||||
|
||||
# The release always contains a leading reserved number, start it at 1.
|
||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||
Release: 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
|
||||
Group: Development/Debuggers
|
||||
@ -504,11 +504,16 @@ Patch510: gdb-bz592031-siginfo-lost-4of5.patch
|
||||
Patch511: gdb-bz592031-siginfo-lost-5of5.patch
|
||||
|
||||
# Verify GDB Python built-in function gdb.solib_address exists (BZ # 634108).
|
||||
#=fedoratest
|
||||
Patch526: gdb-bz634108-solib_address.patch
|
||||
|
||||
# Fix --with-system-readline doc build upstream regression.
|
||||
Patch531: gdb-doc-system-readline.patch
|
||||
Patch532: gdb-doc-system-readline2.patch
|
||||
# New testcase py-prettyprint.exp:print hint_error (for BZ 611569, BZ 629236).
|
||||
#=fedoratest
|
||||
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}
|
||||
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
|
||||
%patch511 -p1
|
||||
%patch526 -p1
|
||||
%patch531 -p1
|
||||
%patch532 -p1
|
||||
%patch541 -p1
|
||||
%patch542 -p1
|
||||
|
||||
%patch393 -p1
|
||||
%patch335 -p1
|
||||
@ -1127,6 +1132,11 @@ fi
|
||||
%endif
|
||||
|
||||
%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
|
||||
- Fix --with-system-readline doc build upstream regression.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user