This commit is contained in:
committed by
Git OBS Bridge
parent
c2ccc3d9f3
commit
a2afc99c64
@@ -382,6 +382,7 @@ doc/ChangeLog:
|
||||
* gdb.texinfo (Target Descriptions): Document <compatible> element.
|
||||
|
||||
|
||||
================================================================================
|
||||
--- gdb/Makefile.in
|
||||
+++ gdb/Makefile.in
|
||||
@@ -499,7 +499,7 @@ ALL_TARGET_OBS = \
|
||||
@@ -393,7 +394,7 @@ doc/ChangeLog:
|
||||
v850-tdep.o \
|
||||
vaxnbsd-tdep.o vaxobsd-tdep.o vax-tdep.o \
|
||||
xstormy16-tdep.o \
|
||||
@@ -1337,7 +1337,7 @@ ALLDEPFILES = \
|
||||
@@ -1338,7 +1338,7 @@ ALLDEPFILES = \
|
||||
sparc64-tdep.c sparc64fbsd-nat.c sparc64fbsd-tdep.c \
|
||||
sparc64nbsd-nat.c sparc64nbsd-tdep.c sparc64obsd-tdep.c \
|
||||
sparcnbsd-nat.c sparcnbsd-tdep.c sparcobsd-tdep.c \
|
||||
@@ -401,7 +402,7 @@ doc/ChangeLog:
|
||||
+ spu-linux-nat.c spu-tdep.c spu-multiarch.c solib-spu.c \
|
||||
v850-tdep.c \
|
||||
vax-nat.c vax-tdep.c vaxbsd-nat.c vaxnbsd-tdep.c \
|
||||
win32-nat.c \
|
||||
windows-nat.c windows-tdep.c \
|
||||
--- gdb/arch-utils.c
|
||||
+++ gdb/arch-utils.c
|
||||
@@ -326,15 +326,24 @@ set_endian (char *ignore_args, int from_
|
||||
@@ -520,7 +521,7 @@ doc/ChangeLog:
|
||||
|
||||
--- gdb/breakpoint.c
|
||||
+++ gdb/breakpoint.c
|
||||
@@ -1089,7 +1089,7 @@ Note: automatically using hardware break
|
||||
@@ -1134,7 +1134,7 @@ Note: automatically using hardware break
|
||||
bpt->overlay_target_info = bpt->target_info;
|
||||
bpt->overlay_target_info.placed_address = addr;
|
||||
val = target_insert_breakpoint (&bpt->overlay_target_info);
|
||||
@@ -529,7 +530,7 @@ doc/ChangeLog:
|
||||
fprintf_unfiltered (tmp_error_stream,
|
||||
"Overlay breakpoint %d failed: in ROM?",
|
||||
bpt->owner->number);
|
||||
@@ -1112,6 +1112,14 @@ Note: automatically using hardware break
|
||||
@@ -1157,6 +1157,14 @@ Note: automatically using hardware break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -544,7 +545,7 @@ doc/ChangeLog:
|
||||
if (val)
|
||||
{
|
||||
/* Can't set the breakpoint. */
|
||||
@@ -1588,6 +1596,14 @@ remove_breakpoint (struct bp_location *b
|
||||
@@ -1626,6 +1634,14 @@ remove_breakpoint (struct bp_location *b
|
||||
}
|
||||
}
|
||||
|
||||
@@ -559,7 +560,7 @@ doc/ChangeLog:
|
||||
/* In some cases, we might not be able to remove a breakpoint
|
||||
in a shared library that has already been removed, but we
|
||||
have not yet processed the shlib unload event. */
|
||||
@@ -7490,6 +7506,37 @@ breakpoint_re_set (void)
|
||||
@@ -7552,6 +7568,37 @@ breakpoint_re_set (void)
|
||||
|
||||
create_overlay_event_breakpoint ("_ovly_debug_event");
|
||||
}
|
||||
@@ -599,7 +600,7 @@ doc/ChangeLog:
|
||||
|
||||
--- gdb/breakpoint.h
|
||||
+++ gdb/breakpoint.h
|
||||
@@ -674,6 +674,8 @@ extern int breakpoint_thread_match (CORE
|
||||
@@ -670,6 +670,8 @@ extern int breakpoint_thread_match (CORE
|
||||
|
||||
extern void until_break_command (char *, int, int);
|
||||
|
||||
@@ -641,7 +642,7 @@ doc/ChangeLog:
|
||||
/* Parse start address (optional). */
|
||||
--- gdb/configure.tgt
|
||||
+++ gdb/configure.tgt
|
||||
@@ -349,7 +349,8 @@ powerpc-*-aix* | rs6000-*-*)
|
||||
@@ -354,7 +354,8 @@ powerpc-*-aix* | rs6000-*-*)
|
||||
powerpc-*-linux* | powerpc64-*-linux*)
|
||||
# Target: PowerPC running Linux
|
||||
gdb_target_obs="rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o \
|
||||
@@ -754,7 +755,7 @@ doc/ChangeLog:
|
||||
}
|
||||
--- gdb/doc/gdb.texinfo
|
||||
+++ gdb/doc/gdb.texinfo
|
||||
@@ -16787,6 +16787,33 @@ and local store addresses and transfer s
|
||||
@@ -16834,6 +16834,33 @@ and local store addresses and transfer s
|
||||
|
||||
@end table
|
||||
|
||||
@@ -788,7 +789,7 @@ doc/ChangeLog:
|
||||
@node PowerPC
|
||||
@subsection PowerPC
|
||||
@cindex PowerPC architecture
|
||||
@@ -28394,6 +28421,7 @@ are explained further below.
|
||||
@@ -28801,6 +28828,7 @@ are explained further below.
|
||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||
<target version="1.0">
|
||||
@r{[}@var{architecture}@r{]}
|
||||
@@ -796,7 +797,7 @@ doc/ChangeLog:
|
||||
@r{[}@var{feature}@dots{}@r{]}
|
||||
</target>
|
||||
@end smallexample
|
||||
@@ -28445,9 +28473,33 @@ An @samp{<architecture>} element has thi
|
||||
@@ -28852,9 +28880,33 @@ An @samp{<architecture>} element has thi
|
||||
<architecture>@var{arch}</architecture>
|
||||
@end smallexample
|
||||
|
||||
@@ -1252,7 +1253,7 @@ doc/ChangeLog:
|
||||
+</target>
|
||||
--- gdb/findvar.c
|
||||
+++ gdb/findvar.c
|
||||
@@ -308,13 +308,15 @@ value_of_register_lazy (struct frame_inf
|
||||
@@ -309,13 +309,15 @@ value_of_register_lazy (struct frame_inf
|
||||
/* Given a pointer of type TYPE in target form in BUF, return the
|
||||
address it represents. */
|
||||
CORE_ADDR
|
||||
@@ -1270,7 +1271,7 @@ doc/ChangeLog:
|
||||
{
|
||||
return extract_signed_integer (buf, TYPE_LENGTH (type));
|
||||
}
|
||||
@@ -322,14 +324,15 @@ signed_pointer_to_address (struct type *
|
||||
@@ -323,14 +325,15 @@ signed_pointer_to_address (struct type *
|
||||
/* Given an address, store it as a pointer of type TYPE in target
|
||||
format in BUF. */
|
||||
void
|
||||
@@ -1502,7 +1503,7 @@ doc/ChangeLog:
|
||||
/* We retrieve the frame's symtab by using the frame PC. However
|
||||
we cannot use the frame PC as-is, because it usually points to
|
||||
the instruction following the "call", which is sometimes the
|
||||
@@ -1723,9 +1747,17 @@ enum frame_type
|
||||
@@ -1721,9 +1745,17 @@ enum frame_type
|
||||
get_frame_type (struct frame_info *frame)
|
||||
{
|
||||
if (frame->unwind == NULL)
|
||||
@@ -1523,7 +1524,7 @@ doc/ChangeLog:
|
||||
return frame->unwind->type;
|
||||
}
|
||||
|
||||
@@ -1792,12 +1824,48 @@ safe_frame_unwind_memory (struct frame_i
|
||||
@@ -1790,17 +1822,48 @@ safe_frame_unwind_memory (struct frame_i
|
||||
return !target_read_memory (addr, buf, len);
|
||||
}
|
||||
|
||||
@@ -1533,7 +1534,10 @@ doc/ChangeLog:
|
||||
struct gdbarch *
|
||||
get_frame_arch (struct frame_info *this_frame)
|
||||
{
|
||||
- return current_gdbarch;
|
||||
- /* In the future, this function will return a per-frame
|
||||
- architecture instead of current_gdbarch. Calling the
|
||||
- routine with a NULL value of this_frame is a bug! */
|
||||
- gdb_assert (this_frame);
|
||||
+ return frame_arch_unwind (this_frame->next);
|
||||
+}
|
||||
+
|
||||
@@ -1569,7 +1573,8 @@ doc/ChangeLog:
|
||||
+
|
||||
+ do_cleanups (old_chain);
|
||||
+ }
|
||||
+
|
||||
|
||||
- return current_gdbarch;
|
||||
+ return next_frame->prev_arch.arch;
|
||||
}
|
||||
|
||||
@@ -1828,7 +1833,7 @@ doc/ChangeLog:
|
||||
/* The architecture initialization hasn't completed - punt -
|
||||
--- gdb/gdbserver/Makefile.in
|
||||
+++ gdb/gdbserver/Makefile.in
|
||||
@@ -214,8 +214,8 @@ clean:
|
||||
@@ -207,8 +207,8 @@ clean:
|
||||
rm -f reg-cris.c reg-crisv32.c reg-x86-64-linux.c reg-xtensa.c
|
||||
rm -f arm-with-iwmmxt.c mips-linux.c mips64-linux.c
|
||||
rm -f powerpc-32l.c powerpc-64l.c powerpc-e500l.c
|
||||
@@ -1839,7 +1844,7 @@ doc/ChangeLog:
|
||||
rm -f powerpc-isa205-32l.c powerpc-isa205-64l.c
|
||||
rm -f powerpc-isa205-altivec32l.c powerpc-isa205-vsx32l.c powerpc-isa205-altivec64l.c
|
||||
rm -f powerpc-isa205-vsx64l.c
|
||||
@@ -363,6 +363,9 @@ powerpc-32l.c : $(srcdir)/../regformats/
|
||||
@@ -356,6 +356,9 @@ powerpc-32l.c : $(srcdir)/../regformats/
|
||||
powerpc-altivec32l.o : powerpc-altivec32l.c $(regdef_h)
|
||||
powerpc-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat $(regdat_sh)
|
||||
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat powerpc-altivec32l.c
|
||||
@@ -1849,7 +1854,7 @@ doc/ChangeLog:
|
||||
powerpc-vsx32l.o : powerpc-vsx32l.c $(regdef_h)
|
||||
powerpc-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat $(regdat_sh)
|
||||
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat powerpc-vsx32l.c
|
||||
@@ -384,6 +387,9 @@ powerpc-64l.c : $(srcdir)/../regformats/
|
||||
@@ -377,6 +380,9 @@ powerpc-64l.c : $(srcdir)/../regformats/
|
||||
powerpc-altivec64l.o : powerpc-altivec64l.c $(regdef_h)
|
||||
powerpc-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat $(regdat_sh)
|
||||
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat powerpc-altivec64l.c
|
||||
@@ -1887,24 +1892,24 @@ doc/ChangeLog:
|
||||
srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml"
|
||||
--- gdb/gdbserver/linux-low.c
|
||||
+++ gdb/gdbserver/linux-low.c
|
||||
@@ -33,6 +33,14 @@
|
||||
#include <errno.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <sched.h>
|
||||
+#include <sys/types.h>
|
||||
@@ -36,8 +36,14 @@
|
||||
#include <ctype.h>
|
||||
#include <pwd.h>
|
||||
#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <sys/vfs.h>
|
||||
+#include <dirent.h>
|
||||
+
|
||||
#include <dirent.h>
|
||||
|
||||
+#ifndef SPUFS_MAGIC
|
||||
+#define SPUFS_MAGIC 0x23c9b64e
|
||||
+#endif
|
||||
|
||||
+
|
||||
#ifndef PTRACE_GETSIGINFO
|
||||
# define PTRACE_GETSIGINFO 0x4202
|
||||
@@ -2049,6 +2057,102 @@ linux_read_offsets (CORE_ADDR *text_p, C
|
||||
# define PTRACE_SETSIGINFO 0x4203
|
||||
@@ -2180,6 +2186,102 @@ linux_qxfer_osdata (const char *annex,
|
||||
return len;
|
||||
}
|
||||
#endif
|
||||
|
||||
+
|
||||
+/* Enumerate spufs IDs for process PID. */
|
||||
@@ -2005,15 +2010,15 @@ doc/ChangeLog:
|
||||
static struct target_ops linux_target_ops = {
|
||||
linux_create_inferior,
|
||||
linux_attach,
|
||||
@@ -2079,7 +2183,7 @@ static struct target_ops linux_target_op
|
||||
@@ -2210,7 +2312,7 @@ static struct target_ops linux_target_op
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
- NULL,
|
||||
+ linux_spu_qxfer_partial,
|
||||
hostio_last_error_from_errno,
|
||||
linux_qxfer_osdata,
|
||||
};
|
||||
|
||||
--- gdb/gdbserver/linux-ppc-low.c
|
||||
+++ gdb/gdbserver/linux-ppc-low.c
|
||||
@@ -28,6 +28,7 @@
|
||||
@@ -2187,7 +2192,7 @@ doc/ChangeLog:
|
||||
|
||||
--- gdb/i386-nat.c
|
||||
+++ gdb/i386-nat.c
|
||||
@@ -640,14 +640,14 @@ i386_insert_hw_breakpoint (struct bp_tar
|
||||
@@ -641,14 +641,14 @@ i386_insert_hw_breakpoint (struct bp_tar
|
||||
}
|
||||
|
||||
/* Remove a hardware-assisted breakpoint at BP_TGT->placed_address.
|
||||
@@ -2206,7 +2211,7 @@ doc/ChangeLog:
|
||||
i386_show_dr ("remove_hwbp", addr, 1, hw_execute);
|
||||
--- gdb/inferior.h
|
||||
+++ gdb/inferior.h
|
||||
@@ -146,13 +146,17 @@ extern CORE_ADDR read_pc (void);
|
||||
@@ -142,13 +142,17 @@ extern CORE_ADDR read_pc (void);
|
||||
|
||||
extern void write_pc (CORE_ADDR);
|
||||
|
||||
@@ -2230,7 +2235,7 @@ doc/ChangeLog:
|
||||
extern void wait_for_inferior (int treat_exec_as_sigtrap);
|
||||
--- gdb/iq2000-tdep.c
|
||||
+++ gdb/iq2000-tdep.c
|
||||
@@ -86,7 +86,8 @@ insn_addr_from_ptr (CORE_ADDR ptr) /* ta
|
||||
@@ -87,7 +87,8 @@ insn_addr_from_ptr (CORE_ADDR ptr) /* ta
|
||||
Convert a target pointer to an address in host (CORE_ADDR) format. */
|
||||
|
||||
static CORE_ADDR
|
||||
@@ -2240,7 +2245,7 @@ doc/ChangeLog:
|
||||
{
|
||||
enum type_code target = TYPE_CODE (TYPE_TARGET_TYPE (type));
|
||||
CORE_ADDR addr = extract_unsigned_integer (buf, TYPE_LENGTH (type));
|
||||
@@ -103,7 +104,8 @@ iq2000_pointer_to_address (struct type *
|
||||
@@ -104,7 +105,8 @@ iq2000_pointer_to_address (struct type *
|
||||
Convert a host-format address (CORE_ADDR) into a target pointer. */
|
||||
|
||||
static void
|
||||
@@ -2252,10 +2257,10 @@ doc/ChangeLog:
|
||||
|
||||
--- gdb/linux-nat.c
|
||||
+++ gdb/linux-nat.c
|
||||
@@ -49,6 +49,12 @@
|
||||
#include "inf-loop.h"
|
||||
#include "event-loop.h"
|
||||
#include "event-top.h"
|
||||
@@ -53,6 +53,12 @@
|
||||
#include <sys/types.h>
|
||||
#include "gdb_dirent.h"
|
||||
#include "xml-support.h"
|
||||
+#include <sys/vfs.h> /* for struct statfs */
|
||||
+#include <dirent.h> /* for DIR etc. */
|
||||
+
|
||||
@@ -2265,7 +2270,7 @@ doc/ChangeLog:
|
||||
|
||||
#ifdef HAVE_PERSONALITY
|
||||
# include <sys/personality.h>
|
||||
@@ -3411,8 +3417,8 @@ linux_nat_do_thread_registers (bfd *obfd
|
||||
@@ -3429,8 +3435,8 @@ linux_nat_do_thread_registers (bfd *obfd
|
||||
gdb_gregset_t gregs;
|
||||
gdb_fpregset_t fpregs;
|
||||
unsigned long lwp = ptid_get_lwp (ptid);
|
||||
@@ -2276,7 +2281,7 @@ doc/ChangeLog:
|
||||
const struct regset *regset;
|
||||
int core_regset_p;
|
||||
struct cleanup *old_chain;
|
||||
@@ -3522,6 +3528,119 @@ linux_nat_corefile_thread_callback (stru
|
||||
@@ -3540,6 +3546,119 @@ linux_nat_corefile_thread_callback (stru
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2396,7 +2401,7 @@ doc/ChangeLog:
|
||||
/* Fills the "to_make_corefile_note" target vector. Builds the note
|
||||
section for a corefile, and returns it in a malloc buffer. */
|
||||
|
||||
@@ -3582,6 +3701,8 @@ linux_nat_make_corefile_notes (bfd *obfd
|
||||
@@ -3600,6 +3719,8 @@ linux_nat_make_corefile_notes (bfd *obfd
|
||||
xfree (auxv);
|
||||
}
|
||||
|
||||
@@ -2405,7 +2410,7 @@ doc/ChangeLog:
|
||||
make_cleanup (xfree, note_data);
|
||||
return note_data;
|
||||
}
|
||||
@@ -3911,6 +4032,99 @@ linux_proc_xfer_partial (struct target_o
|
||||
@@ -3931,6 +4052,99 @@ linux_proc_xfer_partial (struct target_o
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -2505,9 +2510,9 @@ doc/ChangeLog:
|
||||
/* Parse LINE as a signal set and add its set bits to SIGS. */
|
||||
|
||||
static void
|
||||
@@ -4005,6 +4219,10 @@ linux_xfer_partial (struct target_ops *o
|
||||
return procfs_xfer_auxv (ops, object, annex, readbuf, writebuf,
|
||||
offset, len);
|
||||
@@ -4136,6 +4350,10 @@ linux_xfer_partial (struct target_ops *o
|
||||
return linux_nat_xfer_osdata (ops, object, annex, readbuf, writebuf,
|
||||
offset, len);
|
||||
|
||||
+ if (object == TARGET_OBJECT_SPU)
|
||||
+ return linux_proc_xfer_spu (ops, object, annex, readbuf, writebuf,
|
||||
@@ -2518,7 +2523,7 @@ doc/ChangeLog:
|
||||
if (xfer != 0)
|
||||
--- gdb/m32c-tdep.c
|
||||
+++ gdb/m32c-tdep.c
|
||||
@@ -2397,7 +2397,8 @@ m32c_skip_trampoline_code (struct frame_
|
||||
@@ -2401,7 +2401,8 @@ m32c_skip_trampoline_code (struct frame_
|
||||
programmer! :) */
|
||||
|
||||
static void
|
||||
@@ -2528,7 +2533,7 @@ doc/ChangeLog:
|
||||
{
|
||||
enum type_code target_code;
|
||||
gdb_assert (TYPE_CODE (type) == TYPE_CODE_PTR ||
|
||||
@@ -2445,7 +2446,8 @@ m32c_m16c_address_to_pointer (struct typ
|
||||
@@ -2449,7 +2450,8 @@ m32c_m16c_address_to_pointer (struct typ
|
||||
|
||||
|
||||
static CORE_ADDR
|
||||
@@ -3066,7 +3071,7 @@ doc/ChangeLog:
|
||||
val_long &= ((LONGEST) 1 << HOST_CHAR_BIT * len) - 1;
|
||||
--- gdb/proc-service.c
|
||||
+++ gdb/proc-service.c
|
||||
@@ -257,7 +257,7 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwp
|
||||
@@ -258,7 +258,7 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwp
|
||||
struct regcache *regcache;
|
||||
|
||||
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
|
||||
@@ -3075,7 +3080,7 @@ doc/ChangeLog:
|
||||
|
||||
target_fetch_registers (regcache, -1);
|
||||
fill_gregset (regcache, (gdb_gregset_t *) gregset, -1);
|
||||
@@ -276,7 +276,7 @@ ps_lsetregs (gdb_ps_prochandle_t ph, lwp
|
||||
@@ -277,7 +277,7 @@ ps_lsetregs (gdb_ps_prochandle_t ph, lwp
|
||||
struct regcache *regcache;
|
||||
|
||||
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
|
||||
@@ -3084,7 +3089,7 @@ doc/ChangeLog:
|
||||
|
||||
supply_gregset (regcache, (const gdb_gregset_t *) gregset);
|
||||
target_store_registers (regcache, -1);
|
||||
@@ -296,7 +296,7 @@ ps_lgetfpregs (gdb_ps_prochandle_t ph, l
|
||||
@@ -297,7 +297,7 @@ ps_lgetfpregs (gdb_ps_prochandle_t ph, l
|
||||
struct regcache *regcache;
|
||||
|
||||
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
|
||||
@@ -3093,7 +3098,7 @@ doc/ChangeLog:
|
||||
|
||||
target_fetch_registers (regcache, -1);
|
||||
fill_fpregset (regcache, (gdb_fpregset_t *) fpregset, -1);
|
||||
@@ -316,7 +316,7 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, l
|
||||
@@ -317,7 +317,7 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, l
|
||||
struct regcache *regcache;
|
||||
|
||||
inferior_ptid = BUILD_LWP (lwpid, ph->pid);
|
||||
@@ -3486,7 +3491,7 @@ doc/ChangeLog:
|
||||
+32:vrsave
|
||||
--- gdb/remote.c
|
||||
+++ gdb/remote.c
|
||||
@@ -6747,7 +6747,7 @@ remote_insert_breakpoint (struct bp_targ
|
||||
@@ -6781,7 +6781,7 @@ remote_insert_breakpoint (struct bp_targ
|
||||
switch (packet_ok (rs->buf, &remote_protocol_packets[PACKET_Z0]))
|
||||
{
|
||||
case PACKET_ERROR:
|
||||
@@ -3495,7 +3500,7 @@ doc/ChangeLog:
|
||||
case PACKET_OK:
|
||||
bp_tgt->placed_address = addr;
|
||||
bp_tgt->placed_size = bpsize;
|
||||
@@ -6934,7 +6934,7 @@ remote_insert_hw_breakpoint (struct bp_t
|
||||
@@ -6968,7 +6968,7 @@ remote_insert_hw_breakpoint (struct bp_t
|
||||
(target_gdbarch, &bp_tgt->placed_address, &bp_tgt->placed_size);
|
||||
|
||||
if (remote_protocol_packets[PACKET_Z1].support == PACKET_DISABLE)
|
||||
@@ -3504,7 +3509,7 @@ doc/ChangeLog:
|
||||
|
||||
rs = get_remote_state ();
|
||||
p = rs->buf;
|
||||
@@ -6954,7 +6954,7 @@ remote_insert_hw_breakpoint (struct bp_t
|
||||
@@ -6988,7 +6988,7 @@ remote_insert_hw_breakpoint (struct bp_t
|
||||
{
|
||||
case PACKET_ERROR:
|
||||
case PACKET_UNKNOWN:
|
||||
@@ -3513,7 +3518,7 @@ doc/ChangeLog:
|
||||
case PACKET_OK:
|
||||
return 0;
|
||||
}
|
||||
@@ -6971,7 +6971,7 @@ remote_remove_hw_breakpoint (struct bp_t
|
||||
@@ -7005,7 +7005,7 @@ remote_remove_hw_breakpoint (struct bp_t
|
||||
char *p = rs->buf;
|
||||
|
||||
if (remote_protocol_packets[PACKET_Z1].support == PACKET_DISABLE)
|
||||
@@ -3522,7 +3527,7 @@ doc/ChangeLog:
|
||||
|
||||
*(p++) = 'z';
|
||||
*(p++) = '1';
|
||||
@@ -6988,7 +6988,7 @@ remote_remove_hw_breakpoint (struct bp_t
|
||||
@@ -7022,7 +7022,7 @@ remote_remove_hw_breakpoint (struct bp_t
|
||||
{
|
||||
case PACKET_ERROR:
|
||||
case PACKET_UNKNOWN:
|
||||
@@ -4079,7 +4084,7 @@ doc/ChangeLog:
|
||||
+
|
||||
--- gdb/solib.c
|
||||
+++ gdb/solib.c
|
||||
@@ -311,15 +311,22 @@ static int
|
||||
@@ -345,15 +345,22 @@ static int
|
||||
solib_map_sections (void *arg)
|
||||
{
|
||||
struct so_list *so = (struct so_list *) arg; /* catch_errors bogon */
|
||||
@@ -4107,7 +4112,7 @@ doc/ChangeLog:
|
||||
|
||||
/* Leave bfd open, core_xfer_memory and "info files" need it. */
|
||||
so->abfd = abfd;
|
||||
@@ -338,8 +345,6 @@ solib_map_sections (void *arg)
|
||||
@@ -372,8 +379,6 @@ solib_map_sections (void *arg)
|
||||
|
||||
for (p = so->sections; p < so->sections_end; p++)
|
||||
{
|
||||
@@ -4116,7 +4121,7 @@ doc/ChangeLog:
|
||||
/* Relocate the section binding addresses as recorded in the shared
|
||||
object's file by the base address to which the object was actually
|
||||
mapped. */
|
||||
@@ -420,7 +425,9 @@ static int
|
||||
@@ -454,7 +459,9 @@ static int
|
||||
symbol_add_stub (void *arg)
|
||||
{
|
||||
struct so_list *so = (struct so_list *) arg; /* catch_errs bogon */
|
||||
@@ -4126,30 +4131,9 @@ doc/ChangeLog:
|
||||
|
||||
/* Have we already loaded this shared object? */
|
||||
ALL_OBJFILES (so->objfile)
|
||||
@@ -429,11 +436,18 @@ symbol_add_stub (void *arg)
|
||||
return 1;
|
||||
}
|
||||
|
||||
+ /* Open a second BFD for this file. */
|
||||
+ if (ops->open_bfd)
|
||||
+ abfd = ops->open_bfd (so->so_name);
|
||||
+
|
||||
+ if (!abfd)
|
||||
+ abfd = symfile_bfd_open (so->so_name);
|
||||
+
|
||||
sap = build_section_addr_info_from_section_table (so->sections,
|
||||
so->sections_end);
|
||||
|
||||
- so->objfile = symbol_file_add (so->so_name, so->from_tty,
|
||||
- sap, 0, OBJF_SHARED);
|
||||
+ so->objfile = symbol_file_add_from_bfd (abfd, so->from_tty,
|
||||
+ sap, 0, OBJF_SHARED);
|
||||
free_section_addr_info (sap);
|
||||
|
||||
return (1);
|
||||
--- gdb/solist.h
|
||||
+++ gdb/solist.h
|
||||
@@ -118,6 +118,10 @@ struct target_so_ops
|
||||
@@ -121,6 +121,10 @@ struct target_so_ops
|
||||
and another from the list returned by current_sos, return 1
|
||||
if they represent the same library. */
|
||||
int (*same) (struct so_list *gdb, struct so_list *inferior);
|
||||
@@ -5444,7 +5428,7 @@ doc/ChangeLog:
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1440,6 +1458,7 @@ static void
|
||||
@@ -1435,6 +1453,7 @@ static void
|
||||
print_frame_local_vars (struct frame_info *frame, int num_tabs,
|
||||
struct ui_file *stream)
|
||||
{
|
||||
@@ -5452,7 +5436,7 @@ doc/ChangeLog:
|
||||
struct block *block = get_frame_block (frame, 0);
|
||||
int values_printed = 0;
|
||||
|
||||
@@ -1449,6 +1468,9 @@ print_frame_local_vars (struct frame_inf
|
||||
@@ -1444,6 +1463,9 @@ print_frame_local_vars (struct frame_inf
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5462,7 +5446,7 @@ doc/ChangeLog:
|
||||
while (block)
|
||||
{
|
||||
if (print_block_frame_locals (block, frame, num_tabs, stream))
|
||||
@@ -1462,6 +1484,8 @@ print_frame_local_vars (struct frame_inf
|
||||
@@ -1457,6 +1479,8 @@ print_frame_local_vars (struct frame_inf
|
||||
|
||||
if (!values_printed)
|
||||
fprintf_filtered (stream, _("No locals.\n"));
|
||||
@@ -5641,7 +5625,7 @@ doc/ChangeLog:
|
||||
current_target.to_read_description = NULL;
|
||||
de_fault (to_get_ada_task_ptid,
|
||||
(ptid_t (*) (long, long))
|
||||
@@ -2098,7 +2104,8 @@ target_require_runnable (void)
|
||||
@@ -2099,7 +2105,8 @@ target_require_runnable (void)
|
||||
/* Do not worry about thread_stratum targets that can not
|
||||
create inferiors. Assume they will be pushed again if
|
||||
necessary, and continue to the process_stratum. */
|
||||
@@ -5651,7 +5635,7 @@ doc/ChangeLog:
|
||||
continue;
|
||||
|
||||
error (_("\
|
||||
@@ -2238,6 +2245,12 @@ default_watchpoint_addr_within_range (st
|
||||
@@ -2259,6 +2266,12 @@ default_watchpoint_addr_within_range (st
|
||||
return addr >= start && addr < start + length;
|
||||
}
|
||||
|
||||
@@ -5664,7 +5648,7 @@ doc/ChangeLog:
|
||||
static int
|
||||
return_zero (void)
|
||||
{
|
||||
@@ -3131,6 +3144,19 @@ debug_to_find_new_threads (void)
|
||||
@@ -3148,6 +3161,19 @@ debug_to_find_new_threads (void)
|
||||
fputs_unfiltered ("target_find_new_threads ()\n", gdb_stdlog);
|
||||
}
|
||||
|
||||
@@ -5684,7 +5668,7 @@ doc/ChangeLog:
|
||||
static void
|
||||
debug_to_stop (ptid_t ptid)
|
||||
{
|
||||
@@ -3216,6 +3242,7 @@ setup_target_debug (void)
|
||||
@@ -3233,6 +3259,7 @@ setup_target_debug (void)
|
||||
current_target.to_stop = debug_to_stop;
|
||||
current_target.to_rcmd = debug_to_rcmd;
|
||||
current_target.to_pid_to_exec_file = debug_to_pid_to_exec_file;
|
||||
@@ -5704,7 +5688,7 @@ doc/ChangeLog:
|
||||
};
|
||||
|
||||
enum thread_control_capabilities
|
||||
@@ -541,6 +542,9 @@ struct target_ops
|
||||
@@ -535,6 +536,9 @@ struct target_ops
|
||||
simultaneously? */
|
||||
int (*to_supports_multi_process) (void);
|
||||
|
||||
@@ -5714,7 +5698,7 @@ doc/ChangeLog:
|
||||
int to_magic;
|
||||
/* Need sub-structure for target machine related rather than comm related?
|
||||
*/
|
||||
@@ -1046,6 +1050,11 @@ extern char *normal_pid_to_str (ptid_t p
|
||||
@@ -1040,6 +1044,11 @@ extern char *normal_pid_to_str (ptid_t p
|
||||
#define target_pid_to_exec_file(pid) \
|
||||
(current_target.to_pid_to_exec_file) (pid)
|
||||
|
||||
@@ -5762,7 +5746,7 @@ doc/ChangeLog:
|
||||
# If no core registers were specified, assume this target does not
|
||||
--- gdb/thread.c
|
||||
+++ gdb/thread.c
|
||||
@@ -766,6 +766,7 @@ switch_to_thread (ptid_t ptid)
|
||||
@@ -767,6 +767,7 @@ switch_to_thread (ptid_t ptid)
|
||||
inferior_ptid = ptid;
|
||||
reinit_frame_cache ();
|
||||
registers_changed ();
|
||||
@@ -5772,7 +5756,7 @@ doc/ChangeLog:
|
||||
while in the TARGET_RUNNING state, e.g., while handling an
|
||||
--- gdb/utils.c
|
||||
+++ gdb/utils.c
|
||||
@@ -3021,7 +3021,6 @@ core_addr_to_string_nz (const CORE_ADDR
|
||||
@@ -3022,7 +3022,6 @@ core_addr_to_string_nz (const CORE_ADDR
|
||||
CORE_ADDR
|
||||
string_to_core_addr (const char *my_string)
|
||||
{
|
||||
@@ -5780,7 +5764,7 @@ doc/ChangeLog:
|
||||
CORE_ADDR addr = 0;
|
||||
|
||||
if (my_string[0] == '0' && tolower (my_string[1]) == 'x')
|
||||
@@ -3037,17 +3036,6 @@ string_to_core_addr (const char *my_stri
|
||||
@@ -3038,17 +3037,6 @@ string_to_core_addr (const char *my_stri
|
||||
else
|
||||
error (_("invalid hex \"%s\""), my_string);
|
||||
}
|
||||
|
Reference in New Issue
Block a user