From 58512d16aa59c866e3a8ae2f79996c5db7eaef169da228fa72d5515f21b96893 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 16 Feb 2009 13:03:24 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdb?expand=0&rev=54 --- cell-combined.diff | 183 +++++++++++++++++--------------- gdb-6.8.50.20090203-cvs.tar.bz2 | 3 - gdb-6.8.50.20090216-cvs.tar.bz2 | 3 + gdb.changes | 5 + gdb.spec | 6 +- 5 files changed, 108 insertions(+), 92 deletions(-) delete mode 100644 gdb-6.8.50.20090203-cvs.tar.bz2 create mode 100644 gdb-6.8.50.20090216-cvs.tar.bz2 diff --git a/cell-combined.diff b/cell-combined.diff index bfed2d7..1db94c7 100644 --- a/cell-combined.diff +++ b/cell-combined.diff @@ -1,6 +1,6 @@ --- gdb/Makefile.in +++ gdb/Makefile.in -@@ -499,7 +499,7 @@ ALL_TARGET_OBS = \ +@@ -502,7 +502,7 @@ ALL_TARGET_OBS = \ sh64-tdep.o sh-linux-tdep.o shnbsd-tdep.o sh-tdep.o \ sparc-linux-tdep.o sparcnbsd-tdep.o sparcobsd-tdep.o \ sparc-sol2-tdep.o sparc-tdep.o \ @@ -9,7 +9,7 @@ v850-tdep.o \ vaxnbsd-tdep.o vaxobsd-tdep.o vax-tdep.o \ xstormy16-tdep.o \ -@@ -1338,7 +1338,7 @@ ALLDEPFILES = \ +@@ -1342,7 +1342,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 \ @@ -175,7 +175,7 @@ /* 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. */ -@@ -7552,6 +7568,37 @@ breakpoint_re_set (void) +@@ -7553,6 +7569,37 @@ breakpoint_re_set (void) create_overlay_event_breakpoint ("_ovly_debug_event"); } @@ -269,7 +269,7 @@ ;; --- gdb/corelow.c +++ gdb/corelow.c -@@ -542,6 +542,33 @@ core_files_info (struct target_ops *t) +@@ -560,6 +560,33 @@ core_files_info (struct target_ops *t) print_section_info (t, core_bfd); } @@ -303,7 +303,7 @@ static LONGEST core_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, -@@ -634,6 +661,53 @@ core_xfer_partial (struct target_ops *op +@@ -652,6 +679,53 @@ core_xfer_partial (struct target_ops *op } /* FALL THROUGH */ @@ -357,7 +357,7 @@ default: if (ops->beneath != NULL) return ops->beneath->to_xfer_partial (ops->beneath, object, annex, -@@ -673,8 +747,8 @@ core_file_thread_alive (ptid_t tid) +@@ -691,8 +765,8 @@ core_file_thread_alive (ptid_t tid) static const struct target_desc * core_read_description (struct target_ops *target) { @@ -370,7 +370,7 @@ } --- gdb/doc/gdb.texinfo +++ gdb/doc/gdb.texinfo -@@ -16834,6 +16834,33 @@ and local store addresses and transfer s +@@ -16910,6 +16910,33 @@ and local store addresses and transfer s @end table @@ -404,7 +404,7 @@ @node PowerPC @subsection PowerPC @cindex PowerPC architecture -@@ -28801,6 +28828,7 @@ are explained further below. +@@ -29271,6 +29298,7 @@ are explained further below. @r{[}@var{architecture}@r{]} @@ -412,7 +412,7 @@ @r{[}@var{feature}@dots{}@r{]} @end smallexample -@@ -28852,9 +28880,33 @@ An @samp{} element has thi +@@ -29322,9 +29350,33 @@ An @samp{} element has thi @var{arch} @end smallexample @@ -1047,7 +1047,7 @@ } else internal_error (__FILE__, __LINE__, _("No unwind_pc method")); -@@ -647,19 +663,24 @@ get_frame_register (struct frame_info *f +@@ -650,19 +666,24 @@ get_frame_register (struct frame_info *f struct value * frame_unwind_register_value (struct frame_info *frame, int regnum) { @@ -1074,7 +1074,7 @@ /* Find the unwinder. */ if (frame->unwind == NULL) frame->unwind = frame_unwind_find_by_frame (frame, &frame->prologue_cache); -@@ -692,7 +713,7 @@ frame_unwind_register_value (struct fram +@@ -695,7 +716,7 @@ frame_unwind_register_value (struct fram fprintf_unfiltered (gdb_stdlog, " bytes="); fprintf_unfiltered (gdb_stdlog, "["); @@ -1083,7 +1083,7 @@ fprintf_unfiltered (gdb_stdlog, "%02x", buf[i]); fprintf_unfiltered (gdb_stdlog, "]"); } -@@ -701,6 +722,7 @@ frame_unwind_register_value (struct fram +@@ -704,6 +725,7 @@ frame_unwind_register_value (struct fram fprintf_unfiltered (gdb_stdlog, " }\n"); } @@ -1091,7 +1091,7 @@ return value; } -@@ -715,7 +737,7 @@ frame_unwind_register_signed (struct fra +@@ -718,7 +740,7 @@ frame_unwind_register_signed (struct fra { gdb_byte buf[MAX_REGISTER_SIZE]; frame_unwind_register (frame, regnum, buf); @@ -1100,7 +1100,7 @@ regnum)); } -@@ -730,7 +752,7 @@ frame_unwind_register_unsigned (struct f +@@ -733,7 +755,7 @@ frame_unwind_register_unsigned (struct f { gdb_byte buf[MAX_REGISTER_SIZE]; frame_unwind_register (frame, regnum, buf); @@ -1109,7 +1109,7 @@ regnum)); } -@@ -1067,6 +1089,8 @@ select_frame (struct frame_info *fi) +@@ -1070,6 +1092,8 @@ select_frame (struct frame_info *fi) source language of this frame, and switch to it if desired. */ if (fi) { @@ -1118,7 +1118,7 @@ /* 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 -@@ -1721,9 +1745,17 @@ enum frame_type +@@ -1694,9 +1718,17 @@ enum frame_type get_frame_type (struct frame_info *frame) { if (frame->unwind == NULL) @@ -1139,7 +1139,7 @@ return frame->unwind->type; } -@@ -1790,17 +1822,48 @@ safe_frame_unwind_memory (struct frame_i +@@ -1731,17 +1763,48 @@ safe_frame_unwind_memory (struct frame_i return !target_read_memory (addr, buf, len); } @@ -1205,7 +1205,7 @@ /* Sentinel or registers frame. This frame obtains register values direct from the inferior's registers. */ SENTINEL_FRAME -@@ -518,6 +520,7 @@ extern int safe_frame_unwind_memory (str +@@ -523,6 +525,7 @@ extern int safe_frame_unwind_memory (str /* Return this frame's architecture. */ extern struct gdbarch *get_frame_arch (struct frame_info *this_frame); @@ -1263,15 +1263,15 @@ else --- gdb/gdbarch.c +++ gdb/gdbarch.c -@@ -225,6 +225,7 @@ struct gdbarch - gdbarch_regset_from_core_section_ftype *regset_from_core_section; +@@ -226,6 +226,7 @@ struct gdbarch + int core_reg_section_encodes_pid; struct core_regset_section * core_regset_sections; gdbarch_core_xfer_shared_libraries_ftype *core_xfer_shared_libraries; + const char * gcore_bfd_target; int vtable_function_descriptors; int vbit_in_delta; gdbarch_skip_permanent_breakpoint_ftype *skip_permanent_breakpoint; -@@ -312,8 +313,8 @@ struct gdbarch startup_gdbarch = +@@ -314,8 +315,8 @@ struct gdbarch startup_gdbarch = 0, /* register_to_value */ 0, /* value_to_register */ 0, /* value_from_register */ @@ -1282,23 +1282,23 @@ 0, /* integer_to_address */ 0, /* return_value */ 0, /* skip_prologue */ -@@ -357,6 +358,7 @@ struct gdbarch startup_gdbarch = - 0, /* regset_from_core_section */ +@@ -360,6 +361,7 @@ struct gdbarch startup_gdbarch = + 0, /* core_reg_section_encodes_pid */ 0, /* core_regset_sections */ 0, /* core_xfer_shared_libraries */ + 0, /* gcore_bfd_target */ 0, /* vtable_function_descriptors */ 0, /* vbit_in_delta */ 0, /* skip_permanent_breakpoint */ -@@ -608,6 +610,7 @@ verify_gdbarch (struct gdbarch *gdbarch) - /* Skip verify of fetch_pointer_argument, has predicate */ +@@ -613,6 +615,7 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of regset_from_core_section, has predicate */ + /* Skip verify of core_reg_section_encodes_pid, invalid_p == 0 */ /* Skip verify of core_xfer_shared_libraries, has predicate */ + /* Skip verify of gcore_bfd_target, has predicate */ /* Skip verify of vtable_function_descriptors, invalid_p == 0 */ /* Skip verify of vbit_in_delta, invalid_p == 0 */ /* Skip verify of skip_permanent_breakpoint, has predicate */ -@@ -829,6 +832,12 @@ gdbarch_dump (struct gdbarch *gdbarch, s +@@ -838,6 +841,12 @@ gdbarch_dump (struct gdbarch *gdbarch, s "gdbarch_dump: frame_red_zone_size = %s\n", plongest (gdbarch->frame_red_zone_size)); fprintf_unfiltered (file, @@ -1311,7 +1311,7 @@ "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n", gdbarch_get_longjmp_target_p (gdbarch)); fprintf_unfiltered (file, -@@ -2055,7 +2064,7 @@ gdbarch_pointer_to_address (struct gdbar +@@ -2070,7 +2079,7 @@ gdbarch_pointer_to_address (struct gdbar gdb_assert (gdbarch->pointer_to_address != NULL); if (gdbarch_debug >= 2) fprintf_unfiltered (gdb_stdlog, "gdbarch_pointer_to_address called\n"); @@ -1320,7 +1320,7 @@ } void -@@ -2072,7 +2081,7 @@ gdbarch_address_to_pointer (struct gdbar +@@ -2087,7 +2096,7 @@ gdbarch_address_to_pointer (struct gdbar gdb_assert (gdbarch->address_to_pointer != NULL); if (gdbarch_debug >= 2) fprintf_unfiltered (gdb_stdlog, "gdbarch_address_to_pointer called\n"); @@ -1329,7 +1329,7 @@ } void -@@ -2931,6 +2940,31 @@ set_gdbarch_core_xfer_shared_libraries ( +@@ -2963,6 +2972,31 @@ set_gdbarch_core_xfer_shared_libraries ( } int @@ -1361,7 +1361,7 @@ gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch) { gdb_assert (gdbarch != NULL); -@@ -3367,10 +3401,15 @@ gdbarch_data (struct gdbarch *gdbarch, s +@@ -3423,10 +3457,15 @@ gdbarch_data (struct gdbarch *gdbarch, s (as all fields are valid), but be careful to also detect recursive references. */ { @@ -1393,7 +1393,7 @@ extern void gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr); extern void set_gdbarch_address_to_pointer (struct gdbarch *gdbarch, gdbarch_address_to_pointer_ftype *address_to_pointer); -@@ -652,6 +652,13 @@ typedef LONGEST (gdbarch_core_xfer_share +@@ -661,6 +661,13 @@ typedef LONGEST (gdbarch_core_xfer_share extern LONGEST gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, LONGEST len); extern void set_gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdbarch_core_xfer_shared_libraries_ftype *core_xfer_shared_libraries); @@ -1420,7 +1420,7 @@ M:CORE_ADDR:integer_to_address:struct type *type, const gdb_byte *buf:type, buf # Return the return-value convention that will be used by FUNCTYPE -@@ -607,6 +607,9 @@ v:struct core_regset_section *:core_regs +@@ -614,6 +614,9 @@ v:struct core_regset_section *:core_regs # core file into buffer READBUF with length LEN. M:LONGEST:core_xfer_shared_libraries:gdb_byte *readbuf, ULONGEST offset, LONGEST len:readbuf, offset, len @@ -1430,7 +1430,7 @@ # If the elements of C++ vtables are in-place function descriptors rather # than normal function pointers (which may point to code or a descriptor), # set this to one. -@@ -1731,10 +1734,15 @@ gdbarch_data (struct gdbarch *gdbarch, s +@@ -1743,10 +1746,15 @@ gdbarch_data (struct gdbarch *gdbarch, s (as all fields are valid), but be careful to also detect recursive references. */ { @@ -1530,7 +1530,7 @@ #ifndef PTRACE_GETSIGINFO # define PTRACE_GETSIGINFO 0x4202 # define PTRACE_SETSIGINFO 0x4203 -@@ -2180,6 +2186,102 @@ linux_qxfer_osdata (const char *annex, +@@ -2218,6 +2224,102 @@ linux_xfer_siginfo (const char *annex, u return len; } @@ -1633,7 +1633,7 @@ static struct target_ops linux_target_ops = { linux_create_inferior, linux_attach, -@@ -2210,7 +2312,7 @@ static struct target_ops linux_target_op +@@ -2248,7 +2350,7 @@ static struct target_ops linux_target_op #else NULL, #endif @@ -1641,7 +1641,7 @@ + linux_spu_qxfer_partial, hostio_last_error_from_errno, linux_qxfer_osdata, - }; + linux_xfer_siginfo, --- gdb/gdbserver/linux-ppc-low.c +++ gdb/gdbserver/linux-ppc-low.c @@ -28,6 +28,7 @@ @@ -1847,7 +1847,7 @@ i386_show_dr ("remove_hwbp", addr, 1, hw_execute); --- gdb/inferior.h +++ gdb/inferior.h -@@ -142,13 +142,17 @@ extern CORE_ADDR read_pc (void); +@@ -156,13 +156,17 @@ extern CORE_ADDR read_pc (void); extern void write_pc (CORE_ADDR); @@ -1906,7 +1906,7 @@ #ifdef HAVE_PERSONALITY # include -@@ -3429,8 +3435,8 @@ linux_nat_do_thread_registers (bfd *obfd +@@ -3529,8 +3535,8 @@ linux_nat_do_thread_registers (bfd *obfd gdb_gregset_t gregs; gdb_fpregset_t fpregs; unsigned long lwp = ptid_get_lwp (ptid); @@ -1917,7 +1917,7 @@ const struct regset *regset; int core_regset_p; struct cleanup *old_chain; -@@ -3540,6 +3546,119 @@ linux_nat_corefile_thread_callback (stru +@@ -3640,6 +3646,119 @@ linux_nat_corefile_thread_callback (stru return 0; } @@ -2037,7 +2037,7 @@ /* Fills the "to_make_corefile_note" target vector. Builds the note section for a corefile, and returns it in a malloc buffer. */ -@@ -3600,6 +3719,8 @@ linux_nat_make_corefile_notes (bfd *obfd +@@ -3700,6 +3819,8 @@ linux_nat_make_corefile_notes (bfd *obfd xfree (auxv); } @@ -2046,7 +2046,7 @@ make_cleanup (xfree, note_data); return note_data; } -@@ -3931,6 +4052,99 @@ linux_proc_xfer_partial (struct target_o +@@ -4031,6 +4152,99 @@ linux_proc_xfer_partial (struct target_o return ret; } @@ -2146,7 +2146,7 @@ /* Parse LINE as a signal set and add its set bits to SIGS. */ static void -@@ -4136,6 +4350,10 @@ linux_xfer_partial (struct target_ops *o +@@ -4236,6 +4450,10 @@ linux_xfer_partial (struct target_ops *o return linux_nat_xfer_osdata (ops, object, annex, readbuf, writebuf, offset, len); @@ -2423,7 +2423,7 @@ return tdesc_powerpc_vsx64l; else if (altivec) return tdesc_powerpc_altivec64l; -@@ -1062,6 +1121,249 @@ ppc_linux_core_read_description (struct +@@ -1062,6 +1121,258 @@ ppc_linux_core_read_description (struct } } @@ -2481,15 +2481,24 @@ + if (!ptid_equal (spe_context_cache_ptid, inferior_ptid)) + { + volatile struct gdb_exception ex; ++ struct target_ops *target; + -+ if (!target_get_thread_local_address_p ()) ++ for (target = current_target.beneath; ++ target != NULL; ++ target = target->beneath) ++ { ++ if (target->to_get_thread_local_address != NULL) ++ break; ++ } ++ ++ if (target == NULL) + return 0; + + TRY_CATCH (ex, RETURN_MASK_ERROR) + { + spe_context_cache_address -+ = target_get_thread_local_address -+ (inferior_ptid, spe_context_lm_addr, spe_context_offset); ++ = target->to_get_thread_local_address ++ (target, inferior_ptid, spe_context_lm_addr, spe_context_offset); + + spe_context_cache_ptid = inferior_ptid; + } @@ -2673,7 +2682,7 @@ static void ppc_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) -@@ -1102,6 +1404,12 @@ ppc_linux_init_abi (struct gdbarch_info +@@ -1102,6 +1413,12 @@ ppc_linux_init_abi (struct gdbarch_info /* Trampolines. */ tramp_frame_prepend_unwinder (gdbarch, &ppc32_linux_sigaction_tramp_frame); tramp_frame_prepend_unwinder (gdbarch, &ppc32_linux_sighandler_tramp_frame); @@ -2686,7 +2695,7 @@ } if (tdep->wordsize == 8) -@@ -1119,6 +1427,12 @@ ppc_linux_init_abi (struct gdbarch_info +@@ -1119,6 +1436,12 @@ ppc_linux_init_abi (struct gdbarch_info /* Trampolines. */ tramp_frame_prepend_unwinder (gdbarch, &ppc64_linux_sigaction_tramp_frame); tramp_frame_prepend_unwinder (gdbarch, &ppc64_linux_sighandler_tramp_frame); @@ -2699,7 +2708,7 @@ } set_gdbarch_regset_from_core_section (gdbarch, ppc_linux_regset_from_core_section); set_gdbarch_core_read_description (gdbarch, ppc_linux_core_read_description); -@@ -1158,6 +1472,22 @@ ppc_linux_init_abi (struct gdbarch_info +@@ -1158,6 +1481,22 @@ ppc_linux_init_abi (struct gdbarch_info PPC_TRAP_REGNUM, "trap"); } } @@ -2722,7 +2731,7 @@ } void -@@ -1172,15 +1502,23 @@ _initialize_ppc_linux_tdep (void) +@@ -1172,15 +1511,23 @@ _initialize_ppc_linux_tdep (void) gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX, ppc_linux_init_abi); @@ -2766,7 +2775,7 @@ extern struct target_desc *tdesc_powerpc_isa205_altivec64l; --- gdb/printcmd.c +++ gdb/printcmd.c -@@ -386,7 +386,7 @@ print_scalar_formatted (const void *vala +@@ -388,7 +388,7 @@ print_scalar_formatted (const void *vala /* If we are printing it as unsigned, truncate it in case it is actually a negative signed value (e.g. "print/u (short)-1" should print 65535 (if shorts are 16 bits) instead of 4294967295). */ @@ -3197,7 +3206,7 @@ +32:vrsave --- gdb/remote.c +++ gdb/remote.c -@@ -4523,7 +4523,7 @@ process_stop_reply (struct stop_reply *s +@@ -4526,7 +4526,7 @@ process_stop_reply (struct stop_reply *s for (ix = 0; VEC_iterate(cached_reg_t, stop_reply->regcache, ix, reg); ix++) @@ -3206,7 +3215,7 @@ reg->num, reg->data); VEC_free (cached_reg_t, stop_reply->regcache); } -@@ -6781,7 +6781,7 @@ remote_insert_breakpoint (struct bp_targ +@@ -6785,7 +6785,7 @@ remote_insert_breakpoint (struct bp_targ switch (packet_ok (rs->buf, &remote_protocol_packets[PACKET_Z0])) { case PACKET_ERROR: @@ -3215,7 +3224,7 @@ case PACKET_OK: bp_tgt->placed_address = addr; bp_tgt->placed_size = bpsize; -@@ -6968,7 +6968,7 @@ remote_insert_hw_breakpoint (struct bp_t +@@ -6972,7 +6972,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) @@ -3224,7 +3233,7 @@ rs = get_remote_state (); p = rs->buf; -@@ -6988,7 +6988,7 @@ remote_insert_hw_breakpoint (struct bp_t +@@ -6992,7 +6992,7 @@ remote_insert_hw_breakpoint (struct bp_t { case PACKET_ERROR: case PACKET_UNKNOWN: @@ -3233,7 +3242,7 @@ case PACKET_OK: return 0; } -@@ -7005,7 +7005,7 @@ remote_remove_hw_breakpoint (struct bp_t +@@ -7009,7 +7009,7 @@ remote_remove_hw_breakpoint (struct bp_t char *p = rs->buf; if (remote_protocol_packets[PACKET_Z1].support == PACKET_DISABLE) @@ -3242,7 +3251,7 @@ *(p++) = 'z'; *(p++) = '1'; -@@ -7022,7 +7022,7 @@ remote_remove_hw_breakpoint (struct bp_t +@@ -7026,7 +7026,7 @@ remote_remove_hw_breakpoint (struct bp_t { case PACKET_ERROR: case PACKET_UNKNOWN: @@ -3299,7 +3308,7 @@ const struct frame_unwind *const sentinel_frame_unwind = &sentinel_frame_unwinder; --- gdb/sol-thread.c +++ gdb/sol-thread.c -@@ -1093,7 +1093,7 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwp +@@ -1094,7 +1094,7 @@ ps_lgetregs (gdb_ps_prochandle_t ph, lwp old_chain = save_inferior_ptid (); inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); @@ -3308,7 +3317,7 @@ if (target_has_execution) procfs_ops.to_fetch_registers (regcache, -1); -@@ -1118,7 +1118,7 @@ ps_lsetregs (gdb_ps_prochandle_t ph, lwp +@@ -1119,7 +1119,7 @@ ps_lsetregs (gdb_ps_prochandle_t ph, lwp old_chain = save_inferior_ptid (); inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); @@ -3317,7 +3326,7 @@ supply_gregset (regcache, (const gdb_gregset_t *) gregset); if (target_has_execution) -@@ -1229,7 +1229,7 @@ ps_lgetfpregs (gdb_ps_prochandle_t ph, l +@@ -1230,7 +1230,7 @@ ps_lgetfpregs (gdb_ps_prochandle_t ph, l old_chain = save_inferior_ptid (); inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); @@ -3326,7 +3335,7 @@ if (target_has_execution) procfs_ops.to_fetch_registers (regcache, -1); -@@ -1254,7 +1254,7 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, l +@@ -1255,7 +1255,7 @@ ps_lsetfpregs (gdb_ps_prochandle_t ph, l old_chain = save_inferior_ptid (); inferior_ptid = BUILD_LWP (lwpid, PIDGET (inferior_ptid)); @@ -3871,9 +3880,9 @@ ALL_OBJFILES (so->objfile) --- gdb/solist.h +++ gdb/solist.h -@@ -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. */ +@@ -123,6 +123,10 @@ struct target_so_ops + Falls back to using strcmp on so_original_name field when set + to NULL. */ int (*same) (struct so_list *gdb, struct so_list *inferior); + + /* Extra hook for opening a BFD for a solib. Can be used to @@ -3884,7 +3893,7 @@ /* Free the memory associated with a (so_list *). */ --- gdb/spu-multiarch.c +++ gdb/spu-multiarch.c -@@ -0,0 +1,461 @@ +@@ -0,0 +1,462 @@ +/* Cell SPU GNU/Linux multi-architecture debugging support. + Copyright (C) 2008 Free Software Foundation, Inc. + @@ -4005,16 +4014,17 @@ + +/* Override the to_wait routine to detect current architecture. */ +static ptid_t -+spu_wait (ptid_t ptid, struct target_waitstatus *ourstatus) ++spu_wait (struct target_ops *ops, ptid_t ptid, ++ struct target_waitstatus *ourstatus) +{ -+ struct target_ops *ops_beneath = find_target_beneath (&spu_ops); ++ struct target_ops *ops_beneath = find_target_beneath (ops); + + /* Always switch to PPU while running the inferior. This allows + linux-thread-db.c code to work as expected. */ + current_gdbarch = target_gdbarch; + + /* Run it. */ -+ ptid = ops_beneath->to_wait (ptid, ourstatus); ++ ptid = ops_beneath->to_wait (ops_beneath, ptid, ourstatus); + + /* Detect and switch to current architecture. */ + if (ourstatus->kind == TARGET_WAITKIND_STOPPED) @@ -4902,7 +4912,7 @@ +/* This handler is called when the inferior has stopped. If it is stopped in + SPU architecture then flush the ea cache if used. */ +static void -+spu_attach_normal_stop (struct bpstats *bs) ++spu_attach_normal_stop (struct bpstats *bs, int unused) +{ + if (!spu_auto_flush_cache_p) + return; @@ -5357,15 +5367,15 @@ static void init_dummy_target (void); static struct target_ops debug_target; -@@ -485,6 +488,7 @@ update_current_target (void) +@@ -480,6 +483,7 @@ update_current_target (void) INHERIT (to_find_memory_regions, t); INHERIT (to_make_corefile_notes, t); - INHERIT (to_get_thread_local_address, t); + /* Do not inherit to_get_thread_local_address. */ + INHERIT (to_thread_architecture, t); INHERIT (to_can_execute_reverse, t); /* Do not inherit to_read_description. */ INHERIT (to_get_ada_task_ptid, t); -@@ -647,6 +651,8 @@ update_current_target (void) +@@ -639,6 +643,8 @@ update_current_target (void) de_fault (to_async_mask, (int (*) (int)) return_one); @@ -5374,7 +5384,7 @@ current_target.to_read_description = NULL; de_fault (to_get_ada_task_ptid, (ptid_t (*) (long, long)) -@@ -2099,7 +2105,8 @@ target_require_runnable (void) +@@ -2134,7 +2140,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. */ @@ -5384,7 +5394,7 @@ continue; error (_("\ -@@ -2259,6 +2266,12 @@ default_watchpoint_addr_within_range (st +@@ -2294,6 +2301,12 @@ default_watchpoint_addr_within_range (st return addr >= start && addr < start + length; } @@ -5397,7 +5407,7 @@ static int return_zero (void) { -@@ -3148,6 +3161,19 @@ debug_to_find_new_threads (void) +@@ -3145,6 +3158,19 @@ debug_to_find_new_threads (void) fputs_unfiltered ("target_find_new_threads ()\n", gdb_stdlog); } @@ -5417,7 +5427,7 @@ static void debug_to_stop (ptid_t ptid) { -@@ -3233,6 +3259,7 @@ setup_target_debug (void) +@@ -3224,6 +3250,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; @@ -5437,7 +5447,7 @@ }; enum thread_control_capabilities -@@ -535,6 +536,9 @@ struct target_ops +@@ -544,6 +545,9 @@ struct target_ops simultaneously? */ int (*to_supports_multi_process) (void); @@ -5447,7 +5457,7 @@ int to_magic; /* Need sub-structure for target machine related rather than comm related? */ -@@ -1040,6 +1044,11 @@ extern char *normal_pid_to_str (ptid_t p +@@ -1043,6 +1047,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) @@ -5495,7 +5505,7 @@ # If no core registers were specified, assume this target does not --- gdb/thread.c +++ gdb/thread.c -@@ -767,6 +767,7 @@ switch_to_thread (ptid_t ptid) +@@ -824,6 +824,7 @@ switch_to_thread (ptid_t ptid) inferior_ptid = ptid; reinit_frame_cache (); registers_changed (); @@ -5505,7 +5515,7 @@ while in the TARGET_RUNNING state, e.g., while handling an --- gdb/utils.c +++ gdb/utils.c -@@ -3022,7 +3022,6 @@ core_addr_to_string_nz (const CORE_ADDR +@@ -3119,7 +3119,6 @@ core_addr_to_string_nz (const CORE_ADDR CORE_ADDR string_to_core_addr (const char *my_string) { @@ -5513,7 +5523,7 @@ CORE_ADDR addr = 0; if (my_string[0] == '0' && tolower (my_string[1]) == 'x') -@@ -3038,17 +3037,6 @@ string_to_core_addr (const char *my_stri +@@ -3135,17 +3134,6 @@ string_to_core_addr (const char *my_stri else error (_("invalid hex \"%s\""), my_string); } @@ -5542,12 +5552,11 @@ if (frame_addr == (CORE_ADDR) 0) return NULL; -@@ -436,7 +438,17 @@ find_frame_addr_in_frame_chain (CORE_ADD - frame = get_prev_frame (frame); - if (frame == NULL) - return NULL; +@@ -435,7 +437,16 @@ find_frame_addr_in_frame_chain (CORE_ADD + frame != NULL; + frame = get_prev_frame (frame)) + { - if (get_frame_base_address (frame) == frame_addr) -+ + /* The CORE_ADDR we get as argument was parsed from a string GDB + output as $fp. This output got truncated to gdbarch_addr_bit. + Truncate the frame base address in the same manner before @@ -5560,7 +5569,7 @@ + if (frame_base == frame_addr) return frame; } - } + --- gdb/xml-tdesc.c +++ gdb/xml-tdesc.c @@ -106,6 +106,20 @@ tdesc_end_arch (struct gdb_xml_parser *p diff --git a/gdb-6.8.50.20090203-cvs.tar.bz2 b/gdb-6.8.50.20090203-cvs.tar.bz2 deleted file mode 100644 index 7fa244f..0000000 --- a/gdb-6.8.50.20090203-cvs.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8737eb1010fea0ac78a5dd47b4986119ad811cc4b7a3b9ad4245bb78dd68cc94 -size 15838272 diff --git a/gdb-6.8.50.20090216-cvs.tar.bz2 b/gdb-6.8.50.20090216-cvs.tar.bz2 new file mode 100644 index 0000000..42192ec --- /dev/null +++ b/gdb-6.8.50.20090216-cvs.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c93d11f9695a67fb9b0c26a3fef5afeafdd4b9a4863b0d08514c2548b47fee7 +size 15831628 diff --git a/gdb.changes b/gdb.changes index 9c275e5..1ea08b9 100644 --- a/gdb.changes +++ b/gdb.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Feb 16 11:40:00 CET 2009 - schwab@suse.de + +- Update to head to trunk. + ------------------------------------------------------------------- Tue Feb 3 18:11:57 CET 2009 - schwab@suse.de diff --git a/gdb.spec b/gdb.spec index 93b8901..c7e9200 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1,5 +1,5 @@ # -# spec file for package gdb (Version 6.8.50.20090203) +# spec file for package gdb (Version 6.8.50.20090216) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,7 +19,7 @@ Name: gdb Summary: The GNU Debugger -Version: 6.8.50.20090203 +Version: 6.8.50.20090216 Release: 1 BuildRequires: bison dejagnu flex gcc-c++ gcc-fortran gcc-java gcc-objc python-devel readline-devel zlib-devel %if 0%{?suse_version} > 1020 @@ -199,6 +199,8 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Mon Feb 16 2009 schwab@suse.de +- Update to head to trunk. * Tue Feb 03 2009 schwab@suse.de - Update to head to trunk. * Thu Jan 22 2009 schwab@suse.de