This commit is contained in:
parent
7fd6933597
commit
235bfbc404
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad29d5a95c3a1c28388c16d1b85f815d9970994725d1acb70419017d667783ee
|
||||
size 14359046
|
3
gdb-6.6.90.20071001-cvs.tar.bz2
Normal file
3
gdb-6.6.90.20071001-cvs.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e43096ac2efb5d6d770ef89e0dd6cd7f8fa050757acde350b6ab0eda4c6b35ef
|
||||
size 15090949
|
@ -1,14 +0,0 @@
|
||||
--- gdb/Makefile.in
|
||||
+++ gdb/Makefile.in
|
||||
@@ -122,9 +122,9 @@
|
||||
|
||||
# Where is the READLINE library? Typically in ../readline.
|
||||
READLINE_DIR = ../readline
|
||||
-READLINE = $(READLINE_DIR)/libreadline.a
|
||||
+READLINE = -lreadline
|
||||
READLINE_SRC = $(srcdir)/$(READLINE_DIR)
|
||||
-READLINE_CFLAGS = -I$(READLINE_SRC)/..
|
||||
+READLINE_CFLAGS =
|
||||
|
||||
WARN_CFLAGS = @WARN_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 1 15:44:07 CEST 2007 - schwab@suse.de
|
||||
|
||||
- Update to head of gdb_6_7-branch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 24 11:33:32 CEST 2007 - schwab@suse.de
|
||||
|
||||
|
12
gdb.spec
12
gdb.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package gdb (Version 6.6.50.20070726)
|
||||
# spec file for package gdb (Version 6.6.90.20071001)
|
||||
#
|
||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
@ -23,11 +23,10 @@ License: GPL v2 or later
|
||||
Group: Development/Tools/Debuggers
|
||||
AutoReqProv: on
|
||||
PreReq: %{install_info_prereq}
|
||||
Version: 6.6.50.20070726
|
||||
Release: 24
|
||||
Version: 6.6.90.20071001
|
||||
Release: 1
|
||||
Summary: The GNU Debugger
|
||||
Source: gdb-%{version}-cvs.tar.bz2
|
||||
Patch1: gdb-misc.patch
|
||||
Patch2: warn.patch
|
||||
Patch3: readline-5.1-random.patch
|
||||
Patch4: readnever.patch
|
||||
@ -66,7 +65,6 @@ Authors:
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}-cvs
|
||||
%patch1
|
||||
%patch2
|
||||
%patch3
|
||||
%patch4
|
||||
@ -81,7 +79,7 @@ Authors:
|
||||
%build
|
||||
CFLAGS="$RPM_OPT_FLAGS" \
|
||||
./configure --prefix=%{_prefix} --libdir=%{_libdir} --infodir=%{_infodir} \
|
||||
--mandir=%{_mandir} \
|
||||
--mandir=%{_mandir} --with-system-readline \
|
||||
%ifarch ia64
|
||||
--with-libunwind \
|
||||
%else
|
||||
@ -133,6 +131,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_mandir}/man1/gdbserver.1.gz
|
||||
%endif
|
||||
%changelog
|
||||
* Mon Oct 01 2007 - schwab@suse.de
|
||||
- Update to head of gdb_6_7-branch.
|
||||
* Mon Sep 24 2007 - schwab@suse.de
|
||||
- Fix internal error [#309928].
|
||||
* Thu Jul 26 2007 - schwab@suse.de
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- gdb/Makefile.in
|
||||
+++ gdb/Makefile.in
|
||||
@@ -2432,7 +2432,7 @@ objfiles.o: objfiles.c $(defs_h) $(bfd_h
|
||||
@@ -2450,7 +2450,7 @@ objfiles.o: objfiles.c $(defs_h) $(bfd_h
|
||||
$(objfiles_h) $(gdb_stabs_h) $(target_h) $(bcache_h) $(mdebugread_h) \
|
||||
$(gdb_assert_h) $(gdb_stat_h) $(gdb_obstack_h) $(gdb_string_h) \
|
||||
$(hashtab_h) $(breakpoint_h) $(block_h) $(dictionary_h) $(source_h) \
|
||||
@ -9,7 +9,7 @@
|
||||
observer.o: observer.c $(defs_h) $(observer_h) $(command_h) $(gdbcmd_h) \
|
||||
$(observer_inc)
|
||||
obsd-tdep.o: obsd-tdep.c $(defs_h) $(frame_h) $(symtab_h) $(obsd_tdep_h)
|
||||
@@ -2618,9 +2618,9 @@ solib-sunos.o: solib-sunos.c $(defs_h) $
|
||||
@@ -2643,9 +2643,9 @@ solib-sunos.o: solib-sunos.c $(defs_h) $
|
||||
$(bcache_h) $(regcache_h)
|
||||
solib-svr4.o: solib-svr4.c $(defs_h) $(elf_external_h) $(elf_common_h) \
|
||||
$(elf_mips_h) $(symtab_h) $(bfd_h) $(symfile_h) $(objfiles_h) \
|
||||
@ -23,7 +23,7 @@
|
||||
$(gdb_string_h)
|
||||
--- gdb/breakpoint.c
|
||||
+++ gdb/breakpoint.c
|
||||
@@ -3891,6 +3891,7 @@ describe_other_breakpoints (CORE_ADDR pc
|
||||
@@ -3869,6 +3869,7 @@ describe_other_breakpoints (CORE_ADDR pc
|
||||
printf_filtered ("%s%s ",
|
||||
((b->enable_state == bp_disabled ||
|
||||
b->enable_state == bp_shlib_disabled ||
|
||||
@ -31,7 +31,7 @@
|
||||
b->enable_state == bp_call_disabled)
|
||||
? " (disabled)"
|
||||
: b->enable_state == bp_permanent
|
||||
@@ -4575,6 +4576,60 @@ re_enable_breakpoints_in_shlibs (void)
|
||||
@@ -4541,6 +4542,60 @@ re_enable_breakpoints_in_shlibs (void)
|
||||
}
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@
|
||||
static void
|
||||
solib_load_unload_1 (char *hookname, int tempflag, char *dll_pathname,
|
||||
char *cond_string, enum bptype bp_kind)
|
||||
@@ -7012,6 +7067,7 @@ delete_breakpoint (struct breakpoint *bp
|
||||
@@ -6956,6 +7011,7 @@ delete_breakpoint (struct breakpoint *bp
|
||||
&& !b->loc->duplicate
|
||||
&& b->enable_state != bp_disabled
|
||||
&& b->enable_state != bp_shlib_disabled
|
||||
@ -100,7 +100,7 @@
|
||||
&& !b->pending
|
||||
&& b->enable_state != bp_call_disabled)
|
||||
{
|
||||
@@ -7230,7 +7286,8 @@ breakpoint_re_set_one (void *bint)
|
||||
@@ -7180,7 +7236,8 @@ breakpoint_re_set_one (void *bint)
|
||||
break;
|
||||
|
||||
save_enable = b->enable_state;
|
||||
@ -112,7 +112,7 @@
|
||||
/* If resetting a shlib-disabled breakpoint, we don't want to
|
||||
--- gdb/breakpoint.h
|
||||
+++ gdb/breakpoint.h
|
||||
@@ -155,6 +155,7 @@ enum enable_state
|
||||
@@ -153,6 +153,7 @@ enum enable_state
|
||||
automatically enabled and reset when the call
|
||||
"lands" (either completes, or stops at another
|
||||
eventpoint). */
|
||||
@ -120,9 +120,9 @@
|
||||
bp_permanent /* There is a breakpoint instruction hard-wired into
|
||||
the target's code. Don't try to write another
|
||||
breakpoint instruction on top of it, or restore
|
||||
@@ -793,8 +794,12 @@ extern void remove_thread_event_breakpoi
|
||||
@@ -794,8 +795,12 @@ extern void remove_thread_event_breakpoi
|
||||
|
||||
extern void disable_breakpoints_in_shlibs (int silent);
|
||||
extern void disable_breakpoints_in_shlibs (void);
|
||||
|
||||
+extern void disable_breakpoints_at_startup (int silent);
|
||||
+
|
||||
@ -135,7 +135,7 @@
|
||||
extern void create_solib_unload_event_breakpoint (char *, int,
|
||||
--- gdb/dwarf2read.c
|
||||
+++ gdb/dwarf2read.c
|
||||
@@ -1233,7 +1233,7 @@ dwarf2_build_psymtabs (struct objfile *o
|
||||
@@ -1231,7 +1231,7 @@ dwarf2_build_psymtabs (struct objfile *o
|
||||
else
|
||||
dwarf2_per_objfile->loc_buffer = NULL;
|
||||
|
||||
@ -146,7 +146,7 @@
|
||||
{
|
||||
--- gdb/elfread.c
|
||||
+++ gdb/elfread.c
|
||||
@@ -613,7 +613,7 @@ elf_symfile_read (struct objfile *objfil
|
||||
@@ -611,7 +611,7 @@ elf_symfile_read (struct objfile *objfil
|
||||
/* If we are reinitializing, or if we have never loaded syms yet,
|
||||
set table to empty. MAINLINE is cleared so that *_read_psymtab
|
||||
functions do not all also re-initialize the psymbol table. */
|
||||
@ -157,7 +157,7 @@
|
||||
mainline = 0;
|
||||
--- gdb/infrun.c
|
||||
+++ gdb/infrun.c
|
||||
@@ -2252,6 +2252,11 @@ process_event_stop_test:
|
||||
@@ -2250,6 +2250,11 @@ process_event_stop_test:
|
||||
code segments in shared libraries might be mapped in now. */
|
||||
re_enable_breakpoints_in_shlibs ();
|
||||
|
||||
@ -171,7 +171,7 @@
|
||||
and place breakpoints in initializer routines for
|
||||
--- gdb/objfiles.c
|
||||
+++ gdb/objfiles.c
|
||||
@@ -49,6 +49,8 @@
|
||||
@@ -47,6 +47,8 @@
|
||||
#include "block.h"
|
||||
#include "dictionary.h"
|
||||
#include "source.h"
|
||||
@ -180,7 +180,7 @@
|
||||
|
||||
/* Prototypes for local functions */
|
||||
|
||||
@@ -261,7 +263,16 @@ init_entry_point_info (struct objfile *o
|
||||
@@ -259,7 +261,16 @@ init_entry_point_info (struct objfile *o
|
||||
CORE_ADDR
|
||||
entry_point_address (void)
|
||||
{
|
||||
@ -200,7 +200,7 @@
|
||||
/* Create the terminating entry of OBJFILE's minimal symbol table.
|
||||
--- gdb/solib-svr4.c
|
||||
+++ gdb/solib-svr4.c
|
||||
@@ -33,6 +33,7 @@
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "gdbcore.h"
|
||||
#include "target.h"
|
||||
#include "inferior.h"
|
||||
@ -208,7 +208,7 @@
|
||||
|
||||
#include "gdb_assert.h"
|
||||
|
||||
@@ -43,6 +44,7 @@
|
||||
@@ -41,6 +42,7 @@
|
||||
#include "bfd-target.h"
|
||||
#include "elf-bfd.h"
|
||||
#include "exec.h"
|
||||
@ -216,7 +216,7 @@
|
||||
|
||||
static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
|
||||
static int svr4_have_link_map_offsets (void);
|
||||
@@ -251,8 +253,6 @@ static char *debug_loader_name;
|
||||
@@ -249,8 +251,6 @@ static char *debug_loader_name;
|
||||
|
||||
/* Local function prototypes */
|
||||
|
||||
@ -225,7 +225,7 @@
|
||||
static CORE_ADDR bfd_lookup_symbol (bfd *, char *);
|
||||
|
||||
/*
|
||||
@@ -358,6 +358,8 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
|
||||
@@ -356,6 +356,8 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
|
||||
Elf32_External_Dyn *x_dynp_32;
|
||||
Elf64_External_Dyn *x_dynp_64;
|
||||
struct bfd_section *sect;
|
||||
@ -234,14 +234,13 @@
|
||||
|
||||
if (abfd == NULL)
|
||||
return 0;
|
||||
@@ -365,16 +367,26 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
|
||||
@@ -363,11 +365,20 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
|
||||
if (arch_size == -1)
|
||||
return 0;
|
||||
|
||||
+ /* Find the address of the entry point of the program from the
|
||||
+ auxv vector. */
|
||||
+ ret = target_auxv_search (¤t_target, AT_ENTRY, &entry_addr);
|
||||
+
|
||||
+ if (ret <= 0)
|
||||
+ /* No auxv info, maybe an older kernel. Fake our way through. */
|
||||
+ entry_addr = bfd_get_start_address (exec_bfd);
|
||||
@ -254,15 +253,18 @@
|
||||
+ relocated_dyn_addr
|
||||
+ = dyn_addr + entry_addr - bfd_get_start_address (exec_bfd);
|
||||
|
||||
/* Read in .dynamic section, silently ignore errors. */
|
||||
sect_size = bfd_section_size (abfd, sect);
|
||||
buf = alloca (sect_size);
|
||||
- if (target_read_memory (dyn_addr, buf, sect_size))
|
||||
+ if (target_read_memory (relocated_dyn_addr, buf, sect_size))
|
||||
{
|
||||
/* If target_read_memory fails, try reading the BFD file. */
|
||||
if (!bfd_get_section_contents (abfd, sect,
|
||||
@@ -735,9 +747,55 @@ svr4_current_sos (void)
|
||||
/* Read in .dynamic from the BFD. We will get the actual value
|
||||
from memory later. */
|
||||
@@ -407,7 +418,7 @@ scan_dyntag (int dyntag, bfd *abfd, CORE
|
||||
gdb_byte ptr_buf[8];
|
||||
CORE_ADDR ptr_addr;
|
||||
|
||||
- ptr_addr = dyn_addr + (buf - bufstart) + arch_size / 8;
|
||||
+ ptr_addr = relocated_dyn_addr + (buf - bufstart) + arch_size / 8;
|
||||
if (target_read_memory (ptr_addr, ptr_buf, arch_size / 8) == 0)
|
||||
dyn_ptr = extract_typed_address (ptr_buf,
|
||||
builtin_type_void_data_ptr);
|
||||
@@ -743,9 +754,55 @@ svr4_current_sos (void)
|
||||
does have a name, so we can no longer use a missing name to
|
||||
decide when to ignore it. */
|
||||
if (IGNORE_FIRST_LINK_MAP_ENTRY (new) && ldsomap == 0)
|
||||
@ -319,9 +321,9 @@
|
||||
int errcode;
|
||||
char *buffer;
|
||||
|
||||
@@ -755,10 +813,8 @@ svr4_current_sos (void)
|
||||
strcpy (new->so_original_name, new->so_name);
|
||||
@@ -763,10 +820,8 @@ svr4_current_sos (void)
|
||||
}
|
||||
xfree (buffer);
|
||||
|
||||
- /* If this entry has no name, or its name matches the name
|
||||
- for the main executable, don't include it in the list. */
|
||||
@ -332,7 +334,7 @@
|
||||
free_so (new);
|
||||
else
|
||||
{
|
||||
@@ -854,24 +910,6 @@ svr4_fetch_objfile_link_map (struct objf
|
||||
@@ -865,24 +920,6 @@ svr4_fetch_objfile_link_map (struct objf
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -357,7 +359,7 @@
|
||||
/* Return 1 if PC lies in the dynamic symbol resolution code of the
|
||||
SVR4 run time loader. */
|
||||
static CORE_ADDR interp_text_sect_low;
|
||||
@@ -1351,6 +1389,8 @@ svr4_solib_create_inferior_hook (void)
|
||||
@@ -1363,6 +1400,8 @@ svr4_solib_create_inferior_hook (void)
|
||||
while (stop_signal != TARGET_SIGNAL_TRAP);
|
||||
stop_soon = NO_STOP_QUIETLY;
|
||||
#endif /* defined(_SCO_DS) */
|
||||
@ -368,7 +370,7 @@
|
||||
static void
|
||||
--- gdb/solib.c
|
||||
+++ gdb/solib.c
|
||||
@@ -400,15 +400,37 @@ symbol_add_stub (void *arg)
|
||||
@@ -414,15 +414,37 @@ symbol_add_stub (void *arg)
|
||||
/* Have we already loaded this shared object? */
|
||||
ALL_OBJFILES (so->objfile)
|
||||
{
|
||||
@ -409,7 +411,7 @@
|
||||
free_section_addr_info (sap);
|
||||
|
||||
return (1);
|
||||
@@ -589,28 +611,7 @@ update_solib_list (int from_tty, struct
|
||||
@@ -603,28 +625,7 @@ update_solib_list (int from_tty, struct
|
||||
/* Fill in the rest of each of the `struct so_list' nodes. */
|
||||
for (i = inferior; i; i = i->next)
|
||||
{
|
||||
@ -439,7 +441,7 @@
|
||||
|
||||
/* Notify any observer that the shared object has been
|
||||
loaded now that we've added it to GDB's tables. */
|
||||
@@ -706,6 +707,39 @@ solib_add (char *pattern, int from_tty,
|
||||
@@ -720,6 +721,39 @@ solib_add (char *pattern, int from_tty,
|
||||
}
|
||||
}
|
||||
|
||||
@ -481,7 +483,7 @@
|
||||
|
||||
--- gdb/solist.h
|
||||
+++ gdb/solist.h
|
||||
@@ -63,6 +63,8 @@ struct so_list
|
||||
@@ -61,6 +61,8 @@ struct so_list
|
||||
bfd *abfd;
|
||||
char symbols_loaded; /* flag: symbols read in yet? */
|
||||
char from_tty; /* flag: print msgs? */
|
||||
@ -490,7 +492,7 @@
|
||||
struct objfile *objfile; /* objfile for loaded lib */
|
||||
struct section_table *sections;
|
||||
struct section_table *sections_end;
|
||||
@@ -128,6 +130,10 @@ struct so_list *master_so_list (void);
|
||||
@@ -126,6 +128,10 @@ struct so_list *master_so_list (void);
|
||||
/* Find solib binary file and open it. */
|
||||
extern int solib_open (char *in_pathname, char **found_pathname);
|
||||
|
||||
@ -503,7 +505,7 @@
|
||||
|
||||
--- gdb/symfile-mem.c
|
||||
+++ gdb/symfile-mem.c
|
||||
@@ -110,7 +110,7 @@ symbol_file_add_from_memory (struct bfd
|
||||
@@ -108,7 +108,7 @@ symbol_file_add_from_memory (struct bfd
|
||||
}
|
||||
|
||||
objf = symbol_file_add_from_bfd (nbfd, from_tty,
|
||||
@ -514,7 +516,7 @@
|
||||
reinit_frame_cache ();
|
||||
--- gdb/symfile.c
|
||||
+++ gdb/symfile.c
|
||||
@@ -781,7 +781,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
@@ -780,7 +780,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
|
||||
/* Now either addrs or offsets is non-zero. */
|
||||
|
||||
@ -523,7 +525,7 @@
|
||||
{
|
||||
/* We will modify the main symbol table, make sure that all its users
|
||||
will be cleaned up if an error occurs during symbol reading. */
|
||||
@@ -809,7 +809,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
@@ -808,7 +808,7 @@ syms_from_objfile (struct objfile *objfi
|
||||
|
||||
We no longer warn if the lowest section is not a text segment (as
|
||||
happens for the PA64 port. */
|
||||
@ -532,7 +534,7 @@
|
||||
{
|
||||
asection *lower_sect;
|
||||
asection *sect;
|
||||
@@ -978,14 +978,14 @@ new_symfile_objfile (struct objfile *obj
|
||||
@@ -977,14 +977,14 @@ new_symfile_objfile (struct objfile *obj
|
||||
/* If this is the main symbol file we have to clean up all users of the
|
||||
old main symbol file. Otherwise it is sufficient to fixup all the
|
||||
breakpoints that may have been redefined by this symbol file. */
|
||||
@ -549,7 +551,7 @@
|
||||
{
|
||||
breakpoint_re_set ();
|
||||
}
|
||||
@@ -1031,7 +1031,7 @@ symbol_file_add_with_addrs_or_offsets (b
|
||||
@@ -1030,7 +1030,7 @@ symbol_file_add_with_addrs_or_offsets (b
|
||||
interactively wiping out any existing symbols. */
|
||||
|
||||
if ((have_full_symbols () || have_partial_symbols ())
|
||||
@ -558,7 +560,7 @@
|
||||
&& from_tty
|
||||
&& !query ("Load new symbol table from \"%s\"? ", name))
|
||||
error (_("Not confirmed."));
|
||||
@@ -1211,6 +1211,11 @@ symbol_file_clear (int from_tty)
|
||||
@@ -1214,6 +1214,11 @@ symbol_file_clear (int from_tty)
|
||||
symfile_objfile->name)
|
||||
: !query (_("Discard symbol table? "))))
|
||||
error (_("Not confirmed."));
|
||||
@ -570,7 +572,7 @@
|
||||
free_all_objfiles ();
|
||||
|
||||
/* solib descriptors may have handles to objfiles. Since their
|
||||
@@ -2358,6 +2363,8 @@ reread_symbols (void)
|
||||
@@ -2471,6 +2476,8 @@ reread_symbols (void)
|
||||
/* Discard cleanups as symbol reading was successful. */
|
||||
discard_cleanups (old_cleanups);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user