diff options
Diffstat (limited to 'toolchain/gdb')
| -rw-r--r-- | toolchain/gdb/5.3/050-debian-subset.patch | 633 | ||||
| -rw-r--r-- | toolchain/gdb/5.3/100-uclibc.patch | 154 | ||||
| -rw-r--r-- | toolchain/gdb/Config.in | 6 | ||||
| -rw-r--r-- | toolchain/gdb/gdb.mk | 11 | 
4 files changed, 1 insertions, 803 deletions
diff --git a/toolchain/gdb/5.3/050-debian-subset.patch b/toolchain/gdb/5.3/050-debian-subset.patch deleted file mode 100644 index e44b15ccd..000000000 --- a/toolchain/gdb/5.3/050-debian-subset.patch +++ /dev/null @@ -1,633 +0,0 @@ -Patch pending upstream, probably acceptable. --------------------------------------------- - - - -Daniel Jacobowitz <drow@mvista.com> writes: -> I like this.  The way func_frame_chain_valid should really be used is -> by something like: ->  ->   /* NOTE: tm-i386nw.h and tm-i386v4.h override this.  */ ->   set_gdbarch_frame_chain_valid (gdbarch, file_frame_chain_valid); ->  -> (copied from i386-tdep.c). ->  -> Does this patch work for you? - -Yes, thanks.  I've included a revised version of my patch below. - -> I'm curious as to why we can't just set this universally, or at least a -> little more globally.  Most things that have a main () use it as a -> normal main ().  I'd propose that we set it as the default frame chain, -> and provide/document an option to ignore inside_main_func. - -Well, gdbarch is never supposed to change the default behavior of -macros; this helps us convert pre-gdbarch targets incrementally. -Simply turning on gdbarch for one's target ideally wouldn't change its -behavior at all. - - -[Patch revised for Debian snapshot] ---- snap/gdb/i386-linux-tdep.c.orig	2002-08-18 19:53:57.000000000 -0400 -+++ snap/gdb/i386-linux-tdep.c	2002-08-18 19:54:31.000000000 -0400 -@@ -452,6 +452,9 @@ -  -   set_solib_svr4_fetch_link_map_offsets (gdbarch, - 				       i386_linux_svr4_fetch_link_map_offsets); -+ -+  set_gdbarch_frame_chain_valid (gdbarch, -+				 generic_func_frame_chain_valid); - } -  - /* Provide a prototype to silence -Wmissing-prototypes.  */ -[Hurd needs 6.  Take 8, since it does no real harm.] - - -Package: gdb -Severity: normal -Tags: patch, sid - -Hello, - -GDB will crash on the Hurd after issuing the 'show' and hitting enter -a few times: - -../../gdb/ui-out.c:130: gdb-internal-error: push_level: Assertion       +`uiout->level >= 0 && uiout->level < MAX_UI_OUT_LEVELS' failed. - -the problem is that MAX_UI_OUT_LEVELS is not high enough for the extra -option we have on the Hurd, it should be rised to 6 then, which works -fine: - ---- gdb-5.2.cvs20020401/gdb/ui-out.c~   Fri May  3 02:19:20 2002 -+++ gdb-5.2.cvs20020401/gdb/ui-out.c    Fri May  3 02:19:32 2002 -@@ -45,7 +45,7 @@ -    is always available.  Stack/nested level 0 is reserved for the -    top-level result. */ -  --enum { MAX_UI_OUT_LEVELS = 5 }; -+enum { MAX_UI_OUT_LEVELS = 8 }; -  - struct ui_out_level -   { - ---  -Robert Millan - -"5 years from now everyone will be running -free GNU on their 200 MIPS, 64M SPARCstation-5" - -              Andrew S. Tanenbaum, 30 Jan 1992 - - -Submitted upstream, not liked very much.  It's a hack, but it will do for -now. - -2002-07-31  Daniel Jacobowitz  <drow@mvista.com> - -	Fix PR gdb/568 -	* thread-db.c (lwp_from_thread): Only warn if unable to find -	the thread. - -Index: thread-db.c -=================================================================== -RCS file: /cvs/src/src/gdb/thread-db.c,v -retrieving revision 1.22 -diff -u -p -r1.22 thread-db.c ---- gdb/gdb/thread-db.c	23 Mar 2002 17:38:13 -0000	1.22 -+++ gdb/gdb/thread-db.c	31 Jul 2002 16:29:52 -0000 -@@ -260,6 +260,12 @@ lwp_from_thread (ptid_t ptid) -     return ptid; -  -   err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (ptid), &th); -+  if (err == TD_ERR) -+    { -+      warning ("Cannot find thread %ld: %s", -+	       (long) GET_THREAD (ptid), thread_db_err_str (err)); -+      return ptid; -+    } -   if (err != TD_OK) -     error ("Cannot find thread %ld: %s", - 	   (long) GET_THREAD (ptid), thread_db_err_str (err)); -From Michael Fedrowitz <michaelf@debian.org>.  Not submitted to FSF yet. - - Hi, - -gdb fails to build from source on m68k because some definitions have -been removed from tm-m68k.h. The patch below readds them. - --Michael - - -diff -urN gdb-5.2.cvs20020818.orig/gdb/config/m68k/tm-m68k.h gdb-5.2.cvs20020818/gdb/config/m68k/tm-m68k.h ---- gdb-5.2.cvs20020818.orig/gdb/config/m68k/tm-m68k.h	2002-07-10 19:01:38.000000000 +0200 -+++ gdb-5.2.cvs20020818/gdb/config/m68k/tm-m68k.h	2002-10-06 18:01:59.000000000 +0200 -@@ -26,8 +26,11 @@ - /* Generic 68000 stuff, to be included by other tm-*.h files.  */ -  - /* D0_REGNM and A0_REGNUM must be defined here because they are --   used by the monitor.  */ -+   used by the monitor. FPC_REGNUM, FPS_REGNUM and FPI_REGNUM are -+   defined here because they are used by m68klinux-nat.c.  */ -  - #define D0_REGNUM 0 - #define A0_REGNUM 8 -- -+#define FPC_REGNUM 26 -+#define FPS_REGNUM 27 -+#define FPI_REGNUM 28 - - -2002-11-24  Daniel Jacobowitz  <drow@mvista.com> - -	* doublest.c (convert_floatformat_to_doublest): Cast exp_bias to int. -	* config/alpha/alpha-linux.mh (MH_CFLAGS): Add -mieee. - ---- gdb-5.2.debian90.cvs20021120/gdb/doublest.c.orig	2002-11-24 17:48:16.000000000 -0500 -+++ gdb-5.2.debian90.cvs20021120/gdb/doublest.c	2002-11-24 17:48:25.000000000 -0500 -@@ -177,7 +177,7 @@ -   if (!special_exponent) -     exponent -= fmt->exp_bias; -   else if (exponent == 0) --    exponent = 1 - fmt->exp_bias; -+    exponent = 1 - (int)fmt->exp_bias; -  -   /* Build the result algebraically.  Might go infinite, underflow, etc; -      who cares. */ ---- gdb-5.2.debian90.cvs20021120/gdb/config/alpha/alpha-linux.mh.orig	2002-11-24 17:50:30.000000000 -0500 -+++ gdb-5.2.debian90.cvs20021120/gdb/config/alpha/alpha-linux.mh	2002-11-24 17:50:41.000000000 -0500 -@@ -8,3 +8,5 @@ -  - MMALLOC =  - MMALLOC_CFLAGS = -DNO_MMALLOC  -+ -+MH_CFLAGS = -mieee -In CVS but not in 5.3 branch... - -2002-10-23  Daniel Jacobowitz  <drow@mvista.com> - -	* lin-lwp.c (lin_lwp_resume): Remove resume_all test for !step. - -Index: lin-lwp.c -=================================================================== -RCS file: /cvs/src/src/gdb/lin-lwp.c,v -retrieving revision 1.35 -diff -u -p -r1.35 lin-lwp.c ---- gdb-5.2.90/gdb/lin-lwp.c	27 Aug 2002 22:37:06 -0000	1.35 -+++ gdb-5.2.90/gdb/lin-lwp.c	23 Oct 2002 04:23:13 -0000 -@@ -579,11 +579,8 @@ lin_lwp_resume (ptid_t ptid, int step, e -   struct lwp_info *lp; -   int resume_all; -  --  /* Apparently the interpretation of PID is dependent on STEP: If --     STEP is non-zero, a specific PID means `step only this process --     id'.  But if STEP is zero, then PID means `continue *all* --     processes, but give the signal only to this one'.  */ --  resume_all = (PIDGET (ptid) == -1) || !step; -+  /* A specific PTID means `step only this process id'.  */ -+  resume_all = (PIDGET (ptid) == -1); -  -   if (resume_all) -     iterate_over_lwps (resume_set_callback, NULL); - -Not submitted yet, testing. - ---- gdb-5.2.90/gdb/alpha-tdep.c.orig	Sun Nov 24 21:42:53 2002 -+++ gdb-5.2.90/gdb/alpha-tdep.c	Sun Nov 24 21:48:26 2002 -@@ -99,10 +99,12 @@ -  - static alpha_extra_func_info_t heuristic_proc_desc (CORE_ADDR, - 						    CORE_ADDR, --						    struct frame_info *); -+						    struct frame_info *, -+						    int); -  - static alpha_extra_func_info_t find_proc_desc (CORE_ADDR, --					       struct frame_info *); -+					       struct frame_info *, -+					       int); -  - #if 0 - static int alpha_in_lenient_prologue (CORE_ADDR, CORE_ADDR); -@@ -512,7 +514,7 @@ -   if (tmp != 0) -     pc = tmp; -  --  proc_desc = find_proc_desc (pc, frame->next); -+  proc_desc = find_proc_desc (pc, frame->next, 1); -   pcreg = proc_desc ? PROC_PC_REG (proc_desc) : ALPHA_RA_REGNUM; -  -   if (frame->signal_handler_caller) -@@ -596,10 +598,10 @@ -  - static alpha_extra_func_info_t - heuristic_proc_desc (CORE_ADDR start_pc, CORE_ADDR limit_pc, --		     struct frame_info *next_frame) -+		     struct frame_info *next_frame, int read_sp_p) - { --  CORE_ADDR sp = read_next_frame_reg (next_frame, SP_REGNUM); --  CORE_ADDR vfp = sp; -+  CORE_ADDR sp; -+  CORE_ADDR vfp; -   CORE_ADDR cur_pc; -   int frame_size; -   int has_frame_reg = 0; -@@ -607,6 +609,11 @@ -   int pcreg = -1; -   int regno; -  -+  if (read_sp_p) -+    vfp = sp = read_next_frame_reg (next_frame, SP_REGNUM); -+  else -+    vfp = sp = 0; -+ -   if (start_pc == 0) -     return NULL; -   memset (&temp_proc_desc, '\0', sizeof (temp_proc_desc)); -@@ -761,7 +768,7 @@ -   CORE_ADDR func_addr, func_end; -  -   if (!proc_desc) --    proc_desc = find_proc_desc (pc, NULL); -+    proc_desc = find_proc_desc (pc, NULL, 0); -  -   if (proc_desc) -     { -@@ -807,7 +814,7 @@ - } -  - static alpha_extra_func_info_t --find_proc_desc (CORE_ADDR pc, struct frame_info *next_frame) -+find_proc_desc (CORE_ADDR pc, struct frame_info *next_frame, int read_sp_p) - { -   alpha_extra_func_info_t proc_desc; -   struct block *b; -@@ -879,7 +886,7 @@ - 	    { - 	      alpha_extra_func_info_t found_heuristic = - 	      heuristic_proc_desc (PROC_LOW_ADDR (proc_desc), --				   pc, next_frame); -+				   pc, next_frame, read_sp_p); - 	      if (found_heuristic) - 		{ - 		  PROC_LOCALOFF (found_heuristic) = -@@ -921,7 +928,7 @@ - 	startaddr = heuristic_proc_start (pc); -  -       proc_desc = --	heuristic_proc_desc (startaddr, pc, next_frame); -+	heuristic_proc_desc (startaddr, pc, next_frame, read_sp_p); -     } -   return proc_desc; - } -@@ -937,7 +944,7 @@ -   if (saved_pc == 0 || inside_entry_file (saved_pc)) -     return 0; -  --  proc_desc = find_proc_desc (saved_pc, frame); -+  proc_desc = find_proc_desc (saved_pc, frame, 1); -   if (!proc_desc) -     return 0; -  -@@ -979,7 +986,7 @@ - { -   /* Use proc_desc calculated in frame_chain */ -   alpha_extra_func_info_t proc_desc = --  frame->next ? cached_proc_desc : find_proc_desc (frame->pc, frame->next); -+  frame->next ? cached_proc_desc : find_proc_desc (frame->pc, frame->next, 1); -  -   frame->extra_info = (struct frame_extra_info *) -     frame_obstack_alloc (sizeof (struct frame_extra_info)); -@@ -1291,7 +1298,7 @@ -   /* we need proc_desc to know how to restore the registers; -      if it is NULL, construct (a temporary) one */ -   if (proc_desc == NULL) --    proc_desc = find_proc_desc (frame->pc, frame->next); -+    proc_desc = find_proc_desc (frame->pc, frame->next, 1); -  -   /* Question: should we copy this proc_desc and save it in -      frame->proc_desc?  If we do, who will free it? -Not yet submitted upstream.  This requires some serious thinking about.  -If the target stack worked in any logical way, this wouldn't be necessary... -ending up with roughly: -  thread_stratum: thread-db (silent reference to lin-lwp) -  core_stratum: corelow -  exec_stratum: exec -  dummy_stratum: dummy -just makes no sense. - -This patch fixes debugging threaded applications which are statically linked -without breaking debugging threaded core files.  It also fixes the PIDs in -generate-core-file'd corefiles.  Mostly. - -diff -x '*~' -ur o/gdb-5.2.debian90.cvs20021120/gdb/corelow.c gdb-5.2.debian90.cvs20021120/gdb/corelow.c ---- o/gdb-5.2.debian90.cvs20021120/gdb/corelow.c	2002-09-18 13:23:15.000000000 -0400 -+++ gdb-5.2.debian90.cvs20021120/gdb/corelow.c	2002-12-03 14:03:32.000000000 -0500 -@@ -350,7 +350,7 @@ -   bfd_map_over_sections (core_bfd, add_to_thread_list, - 			 bfd_get_section_by_name (core_bfd, ".reg")); -  --  if (ontop) -+  if (ontop || 1) -     { -       /* Fetch all registers from core file.  */ -       target_fetch_registers (-1); -diff -x '*~' -ur o/gdb-5.2.debian90.cvs20021120/gdb/linux-proc.c gdb-5.2.debian90.cvs20021120/gdb/linux-proc.c ---- o/gdb-5.2.debian90.cvs20021120/gdb/linux-proc.c	2002-12-03 14:13:52.000000000 -0500 -+++ gdb-5.2.debian90.cvs20021120/gdb/linux-proc.c	2002-12-03 13:56:34.000000000 -0500 -@@ -177,7 +177,7 @@ - #ifdef FILL_FPXREGSET -   gdb_fpxregset_t fpxregs; - #endif --  unsigned long merged_pid = ptid_get_tid (ptid) << 16 | ptid_get_pid (ptid); -+  unsigned long merged_pid = ptid_get_tid (ptid) << 16; /*  | ptid_get_pid (ptid); */ -  -   fill_gregset (&gregs, -1); -   note_data = (char *) elfcore_write_prstatus (obfd,  -diff -x '*~' -ur o/gdb-5.2.debian90.cvs20021120/gdb/target.c gdb-5.2.debian90.cvs20021120/gdb/target.c ---- o/gdb-5.2.debian90.cvs20021120/gdb/target.c	2002-09-18 13:23:22.000000000 -0400 -+++ gdb-5.2.debian90.cvs20021120/gdb/target.c	2002-12-03 14:06:07.000000000 -0500 -@@ -1589,6 +1589,7 @@ -   dummy_target.to_find_memory_regions = dummy_find_memory_regions; -   dummy_target.to_make_corefile_notes = dummy_make_corefile_notes; -   dummy_target.to_magic = OPS_MAGIC; -+  cleanup_target (&dummy_target); - } -  -  -diff -x '*~' -ur o/gdb-5.2.debian90.cvs20021120/gdb/thread-db.c gdb-5.2.debian90.cvs20021120/gdb/thread-db.c ---- o/gdb-5.2.debian90.cvs20021120/gdb/thread-db.c	2002-12-03 14:13:50.000000000 -0500 -+++ gdb-5.2.debian90.cvs20021120/gdb/thread-db.c	2002-12-03 13:39:54.000000000 -0500 -@@ -57,6 +57,31 @@ - /* Non-zero if we're using this module's target vector.  */ - static int using_thread_db; -  -+/* Macros to pass an event to the next target if we should not be handling it -+   here in the thread_stratum.  */ -+#define FIND_NEXT_TARGET(METHOD_NAME)			\ -+  struct target_ops *next_target = &thread_db_ops;	\ -+  while (1)						\ -+    {							\ -+      next_target = find_target_beneath (next_target);	\ -+      if (next_target->METHOD_NAME != NULL)		\ -+	break;						\ -+    } -+ -+#define MAYBE_HAND_DOWN(METHOD_NAME,ARGS)		\ -+  if (proc_handle.pid == 0)				\ -+    {							\ -+      FIND_NEXT_TARGET (METHOD_NAME);			\ -+      (*next_target->METHOD_NAME) ARGS;			\ -+      return;						\ -+    } -+#define MAYBE_HAND_DOWN_RETURN(METHOD_NAME,ARGS)	\ -+  if (proc_handle.pid == 0)				\ -+    {							\ -+      FIND_NEXT_TARGET (METHOD_NAME);			\ -+      return (*next_target->METHOD_NAME) ARGS;		\ -+    } -+ - /* Non-zero if we have to keep this module's target vector active -    across re-runs.  */ - static int keep_thread_db; -@@ -489,9 +514,7 @@ - { -   td_err_e err; -  --  /* Don't attempt to use thread_db on targets which can not run --     (core files).  */ --  if (objfile == NULL || !target_has_execution) -+  if (objfile == NULL) -     { -       /* All symbols have been discarded.  If the thread_db target is -          active, deactivate it now.  */ -@@ -515,7 +538,10 @@ -   /* Initialize the structure that identifies the child process.  Note -      that at this point there is no guarantee that we actually have a -      child process.  */ --  proc_handle.pid = GET_PID (inferior_ptid); -+  if (target_has_execution) -+    proc_handle.pid = GET_PID (inferior_ptid); -+  else -+    proc_handle.pid = 0; -  -   /* Now attempt to open a connection to the thread library.  */ -   err = td_ta_new_p (&proc_handle, &thread_agent); -@@ -758,6 +784,9 @@ -   struct cleanup *old_chain = save_inferior_ptid (); -   int xfer; -  -+  MAYBE_HAND_DOWN_RETURN (to_xfer_memory, (memaddr, myaddr, len, write, -+					   attrib, target)); -+ -   if (is_thread (inferior_ptid)) -     { -       /* FIXME: This seems to be necessary to make sure breakpoints -@@ -782,6 +811,8 @@ -   gdb_prfpregset_t fpregset; -   td_err_e err; -  -+  MAYBE_HAND_DOWN (to_fetch_registers, (regno)); -+ -   if (!is_thread (inferior_ptid)) -     { -       /* Pass the request to the target beneath us.  */ -@@ -819,6 +850,8 @@ -   gdb_prfpregset_t fpregset; -   td_err_e err; -  -+  MAYBE_HAND_DOWN (to_store_registers, (regno)); -+ -   if (!is_thread (inferior_ptid)) -     { -       /* Pass the request to the target beneath us.  */ -@@ -908,6 +941,8 @@ -   td_thrinfo_t ti; -   td_err_e err; -  -+  MAYBE_HAND_DOWN_RETURN (to_thread_alive, (ptid)); -+ -   if (is_thread (ptid)) -     { -       err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (ptid), &th); -@@ -961,6 +996,8 @@ - { -   td_err_e err; -  -+  MAYBE_HAND_DOWN (to_find_new_threads, ()); -+ -   /* Iterate over all user-space threads to discover new threads.  */ -   err = td_ta_thr_iter_p (thread_agent, find_new_threads_callback, NULL, - 			  TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY, -@@ -972,6 +1009,8 @@ - static char * - thread_db_pid_to_str (ptid_t ptid) - { -+  MAYBE_HAND_DOWN_RETURN (to_pid_to_str, (ptid)); -+ -   if (is_thread (ptid)) -     { -       static char buf[64]; -Trivial.  Need to submit this. - ---- gdb-5.2.debian90.cvs20021120/gdb/tracepoint.c.orig	2002-12-03 14:35:44.000000000 -0500 -+++ gdb-5.2.debian90.cvs20021120/gdb/tracepoint.c	2002-12-03 14:43:02.000000000 -0500 -@@ -861,6 +861,8 @@ -       else - 	line = gdb_readline (0); -  -+      if (line == NULL || *line == EOF) -+	break; -       linetype = validate_actionline (&line, t); -       if (linetype == BADLINE) - 	continue;		/* already warned -- collect another line */ -Fix build on Sparc. - ---- gdb-5.3/gdb/sparc-nat.c.orig	2003-01-04 00:11:28.000000000 -0500 -+++ gdb-5.3/gdb/sparc-nat.c	2003-01-04 00:12:42.000000000 -0500 -@@ -33,6 +33,13 @@ - #include <sys/ptrace.h> - #include <sys/wait.h> - #ifdef __linux__ -+/* Sadly, <sys/ucontext.h> conflicts with <asm/reg.h> on Linux.  And -+   -D_GNU_SOURCE brings in <sys/ucontext.h> implicitly with <signal.h>. -+   Hack around this.  */ -+#undef FPU_REGS_TYPE -+#define fpu asm_reg_fpu -+#define fq asm_reg_fq -+#define fpq asm_reg_fpq - #include <asm/reg.h> - #else - #include <machine/reg.h> -diff -urN gdb-5.3/gdb/gdbserver.orig/gdbreplay.c gdb-5.3/gdb/gdbserver/gdbreplay.c ---- gdb-5.3/gdb/gdbserver.orig/gdbreplay.c	2002-07-09 11:38:58.000000000 -0600 -+++ gdb-5.3/gdb/gdbserver/gdbreplay.c	2003-08-20 08:44:20.000000000 -0600 -@@ -54,14 +54,15 @@ - perror_with_name (char *string) - { - #ifndef STDC_HEADERS --  extern int sys_nerr; -   extern char *sys_errlist[]; -   extern int errno; - #endif -   const char *err; -   char *combined; -  --  err = (errno < sys_nerr) ? sys_errlist[errno] : "unknown error"; -+  err = strerror (errno); -+  if (err == NULL) -+    err = "unknown error"; -   combined = (char *) alloca (strlen (err) + strlen (string) + 3); -   strcpy (combined, string); -   strcat (combined, ": "); -diff -urN gdb-5.3/gdb/gdbserver.orig/low-hppabsd.c gdb-5.3/gdb/gdbserver/low-hppabsd.c ---- gdb-5.3/gdb/gdbserver.orig/low-hppabsd.c	2002-01-17 14:13:49.000000000 -0700 -+++ gdb-5.3/gdb/gdbserver/low-hppabsd.c	2003-08-20 08:46:04.000000000 -0600 -@@ -61,7 +61,7 @@ -       execv (program, allargs); -  -       fprintf (stderr, "Cannot exec %s: %s.\n", program, --	       errno < sys_nerr ? sys_errlist[errno] : "unknown error"); -+	       strerror (errno)); -       fflush (stderr); -       _exit (0177); -     } -diff -urN gdb-5.3/gdb/gdbserver.orig/low-lynx.c gdb-5.3/gdb/gdbserver/low-lynx.c ---- gdb-5.3/gdb/gdbserver.orig/low-lynx.c	2002-01-17 14:13:49.000000000 -0700 -+++ gdb-5.3/gdb/gdbserver/low-lynx.c	2003-08-20 08:46:18.000000000 -0600 -@@ -79,7 +79,7 @@ -  -       fprintf (stderr, "GDBserver (process %d):  Cannot exec %s: %s.\n", - 	       getpid (), program, --	       errno < sys_nerr ? sys_errlist[errno] : "unknown error"); -+	       strerror (errno)); -       fflush (stderr); -       _exit (0177); -     } -diff -urN gdb-5.3/gdb/gdbserver.orig/low-nbsd.c gdb-5.3/gdb/gdbserver/low-nbsd.c ---- gdb-5.3/gdb/gdbserver.orig/low-nbsd.c	2002-01-17 14:13:49.000000000 -0700 -+++ gdb-5.3/gdb/gdbserver/low-nbsd.c	2003-08-20 08:46:27.000000000 -0600 -@@ -137,7 +137,7 @@ -       execv (program, allargs); -  -       fprintf (stderr, "Cannot exec %s: %s.\n", program, --	       errno < sys_nerr ? sys_errlist[errno] : "unknown error"); -+	       strerror (errno)); -       fflush (stderr); -       _exit (0177); -     } -diff -urN gdb-5.3/gdb/gdbserver.orig/low-sparc.c gdb-5.3/gdb/gdbserver/low-sparc.c ---- gdb-5.3/gdb/gdbserver.orig/low-sparc.c	2002-01-17 14:13:50.000000000 -0700 -+++ gdb-5.3/gdb/gdbserver/low-sparc.c	2003-08-20 08:46:38.000000000 -0600 -@@ -44,7 +44,6 @@ - #include <sys/ptrace.h> - #include <sys/reg.h> -  --extern int sys_nerr; - extern char **sys_errlist; - extern int errno; -  -@@ -67,7 +66,7 @@ -       execv (program, allargs); -  -       fprintf (stderr, "Cannot exec %s: %s.\n", program, --	       errno < sys_nerr ? sys_errlist[errno] : "unknown error"); -+	       strerror (errno)); -       fflush (stderr); -       _exit (0177); -     } -diff -urN gdb-5.3/gdb/gdbserver.orig/low-sun3.c gdb-5.3/gdb/gdbserver/low-sun3.c ---- gdb-5.3/gdb/gdbserver.orig/low-sun3.c	2002-01-17 14:13:50.000000000 -0700 -+++ gdb-5.3/gdb/gdbserver/low-sun3.c	2003-08-20 08:46:51.000000000 -0600 -@@ -41,7 +41,6 @@ - #include <sys/ptrace.h> - #include <machine/reg.h> -  --extern int sys_nerr; - extern char **sys_errlist; - extern int errno; -  -@@ -64,7 +63,7 @@ -       execv (program, allargs); -  -       fprintf (stderr, "Cannot exec %s: %s.\n", program, --	       errno < sys_nerr ? sys_errlist[errno] : "unknown error"); -+	       strerror (errno)); -       fflush (stderr); -       _exit (0177); -     } -diff -urN gdb-5.3/gdb/gdbserver.orig/utils.c gdb-5.3/gdb/gdbserver/utils.c ---- gdb-5.3/gdb/gdbserver.orig/utils.c	2003-08-20 08:47:56.000000000 -0600 -+++ gdb-5.3/gdb/gdbserver/utils.c	2003-08-20 08:48:15.000000000 -0600 -@@ -33,16 +33,13 @@ - perror_with_name (char *string) - { - #ifndef STDC_HEADERS --  extern int sys_nerr; --  extern char *sys_errlist[]; -   extern int errno; - #endif -   const char *err; -   char *combined; -  --  if (errno < sys_nerr) --    err = sys_errlist[errno]; --  else -+  err = strerror (errno); -+  if (err == NULL) -     err = "unknown error"; -  -   combined = (char *) alloca (strlen (err) + strlen (string) + 3); -diff -urN gdb-5.3/gdb/gdbserver.orig/linux-low.c.orig gdb-5.3/gdb/gdbserver/linux-low.c.orig ---- gdb-5.3/gdb/gdbserver.orig/linux-low.c	2003-08-20 08:40:27.000000000 -0600 -+++ gdb-5.3/gdb/gdbserver/linux-low.c	2003-08-20 08:44:54.000000000 -0600 -@@ -175,8 +175,7 @@ -   if (ptrace (PTRACE_ATTACH, pid, 0, 0) != 0) -     { -       fprintf (stderr, "Cannot attach to process %d: %s (%d)\n", pid, --	       errno < sys_nerr ? sys_errlist[errno] : "unknown error", --	       errno); -+	       strerror (errno), errno); -       fflush (stderr); -  -       /* If we fail to attach to an LWP, just return.  */ - diff --git a/toolchain/gdb/5.3/100-uclibc.patch b/toolchain/gdb/5.3/100-uclibc.patch deleted file mode 100644 index f9853035e..000000000 --- a/toolchain/gdb/5.3/100-uclibc.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff -urN gdb-5.3/bfd/config.bfd gdb-5.3-new/bfd/config.bfd ---- gdb-5.3/bfd/config.bfd	2002-09-05 15:34:35.000000000 -0500 -+++ gdb-5.3-new/bfd/config.bfd	2004-01-11 06:25:31.000000000 -0600 -@@ -83,7 +83,7 @@ -     targ_defvec=ecoffalpha_little_vec -     targ_selvecs=bfd_elf64_alpha_vec -     ;; --  alpha*-*-linux-gnu* | alpha*-*-elf*) -+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*) -     targ_defvec=bfd_elf64_alpha_vec -     targ_selvecs=ecoffalpha_little_vec -     ;; -@@ -97,7 +97,8 @@ -     targ_defvec=bfd_elf64_ia64_aix_little_vec -     targ_selvecs="bfd_elf64_ia64_aix_big_vec bfd_efi_app_ia64_vec" -     ;; --  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf*) -+  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | \ -+  ia64*-*-linux-uclibc* | ia64*-*-elf*) -     targ_defvec=bfd_elf64_ia64_little_vec -     targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" -     ;; -@@ -176,11 +177,12 @@ -     targ_defvec=bfd_elf32_littlearm_vec -     targ_selvecs=bfd_elf32_bigarm_vec -     ;; --  armeb-*-elf | arm*b-*-linux-gnu*) -+  armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*) -     targ_defvec=bfd_elf32_bigarm_vec -     targ_selvecs=bfd_elf32_littlearm_vec -     ;; --  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*) -+  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | \ -+  arm*-*-conix* | arm*-*-uclinux*) -     targ_defvec=bfd_elf32_littlearm_vec -     targ_selvecs=bfd_elf32_bigarm_vec -     ;; -@@ -313,7 +315,7 @@ -     ;; -  - #ifdef BFD64 --  hppa*64*-*-linux-gnu*) -+  hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) -     targ_defvec=bfd_elf64_hppa_linux_vec -     targ_selvecs=bfd_elf64_hppa_vec -     ;; -@@ -324,7 +326,7 @@ -     ;; - #endif -  --  hppa*-*-linux-gnu*) -+  hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) -     targ_defvec=bfd_elf32_hppa_linux_vec -     targ_selvecs=bfd_elf32_hppa_vec -     ;; -@@ -424,7 +426,7 @@ -     targ_selvecs=bfd_elf32_i386_vec -     targ_underscore=yes -     ;; --  i[3456]86-*-linux-gnu*) -+  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) -     targ_defvec=bfd_elf32_i386_vec -     targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" -     targ64_selvecs=bfd_elf64_x86_64_vec -@@ -438,7 +440,7 @@ -     targ_defvec=bfd_elf64_x86_64_vec -     targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" -     ;; --  x86_64-*-linux-gnu*) -+  x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) -     targ_defvec=bfd_elf64_x86_64_vec -     targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" -     ;; -@@ -589,7 +591,7 @@ -     targ_defvec=hp300hpux_vec -     targ_underscore=yes -     ;; --  m68*-*-linux*aout*) -+  m68*-*-linux-gnu* | m68*-*-linux-uclibc*) -     targ_defvec=m68klinux_vec -     targ_selvecs=bfd_elf32_m68k_vec -     targ_underscore=yes -@@ -865,7 +867,8 @@ -     ;; - #endif -   powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ --  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ -+  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \ -+  powerpc-*-rtems* | \ -   powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) -     targ_defvec=bfd_elf32_powerpc_vec -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" -@@ -887,8 +890,8 @@ -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpcqnx_vec ppcboot_vec" -     ;; -   powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ --  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ --  powerpcle-*-rtems*) -+  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\ -+  powerpcle-*-vxworks* | powerpcle-*-rtems*) -     targ_defvec=bfd_elf32_powerpcle_vec -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" -     targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" -@@ -1038,7 +1041,7 @@ -     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" -     targ_underscore=yes -     ;; --  sparc-*-linux-gnu*) -+  sparc-*-linux-gnu* | sparc-*-linux-uclibc*) -     targ_defvec=bfd_elf32_sparc_vec -     targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" -     ;; -@@ -1081,7 +1084,7 @@ -     targ_defvec=sunos_big_vec -     targ_underscore=yes -     ;; --  sparc64-*-linux-gnu*) -+  sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) -     targ_defvec=bfd_elf64_sparc_vec -     targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" -     ;; -diff -urN gdb-5.3/bfd/configure gdb-5.3-new/bfd/configure ---- gdb-5.3/bfd/configure	2002-08-28 05:38:44.000000000 -0500 -+++ gdb-5.3-new/bfd/configure	2004-01-11 06:27:15.000000000 -0600 -@@ -1677,6 +1677,11 @@ -   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` -   ;; -  -+linux-uclibc*) -+  lt_cv_deplibs_check_method=pass_all -+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+  ;; -+ - netbsd*) -   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then -     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -5067,7 +5072,7 @@ -   alpha*-*-freebsd*) - 	COREFILE='' - 	;; --  alpha*-*-linux-gnu*) -+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/alphalinux.h"' - 	;; -@@ -5126,7 +5131,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386mach3.h"' - 	;; --  i[3456]86-*-linux-gnu*) -+  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386linux.h"' - 	;; diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in index 89ee0ad6d..2c8a67cd9 100644 --- a/toolchain/gdb/Config.in +++ b/toolchain/gdb/Config.in @@ -22,14 +22,11 @@ config BR2_PACKAGE_GDB_CLIENT  choice  	prompt "GDB debuger Version" -	default BR2_GDB_VERSION_5_3 +	default BR2_GDB_VERSION_6_3  	depends on BR2_PACKAGE_GDB || BR2_PACKAGE_GDB_SERVER || BR2_HOST_GDB  	help  	  Select the version of gcc you wish to use. -	config BR2_GDB_VERSION_5.3 -		bool "gdb 5.3" -  	config BR2_GDB_VERSION_6_1_1  		bool "gdb 6.1.1" @@ -46,7 +43,6 @@ endchoice  config BR2_GDB_VERSION  	string -	default "5.3"      if BR2_GDB_VERSION_5.3  	default "6.1.1"    if BR2_GDB_VERSION_6_1_1  	default "6.2"      if BR2_GDB_VERSION_6_2  	default "6.2.1"    if BR2_GDB_VERSION_6_2_1 diff --git a/toolchain/gdb/gdb.mk b/toolchain/gdb/gdb.mk index 9aa5f8e07..56077ccb5 100644 --- a/toolchain/gdb/gdb.mk +++ b/toolchain/gdb/gdb.mk @@ -7,14 +7,8 @@ GDB_VERSION:=$(strip $(subst ",, $(BR2_GDB_VERSION)))  #"  GDB_SITE:=http://ftp.gnu.org/gnu/gdb - -ifeq ($(GDB_VERSION),5.3) -GDB_SOURCE:=gdb-$(GDB_VERSION).tar.gz -GDB_CAT:=zcat -else  GDB_SOURCE:=gdb-$(GDB_VERSION).tar.bz2  GDB_CAT:=bzcat -endif  GDB_DIR:=$(TOOL_BUILD_DIR)/gdb-$(GDB_VERSION) @@ -27,11 +21,6 @@ $(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE)  	# Copy a config.sub from gcc.  This is only necessary until  	# gdb's config.sub supports <arch>-linux-uclibc tuples.  	# Should probably integrate this into the patch. -ifeq ($(GDB_VERSION),5.3) -	chmod u+x $(GDB_DIR)/gdb/gdbserver/configure -	cp $(GCC_DIR)/config.sub $(GDB_DIR) -	cp $(GCC_DIR)/config.sub $(GDB_DIR)/readline/support/ -endif  	touch  $(GDB_DIR)/.unpacked  ######################################################################  | 
