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

View File

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

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:
- 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
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.
# 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.

View File

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