- Rebase to FSF GDB 7.2.50.20101231 (which is a 7.3 pre-release).

- Remove gdb-6.3-bt-past-zero-20051201.patch, gdb-archer-ada.patch and
  gdb-6.3-framepczero-20040927.patch already removed from .spec before.
- Remove gdb-6.5-dwarf-stack-overflow.patch, upstreamed (Tom Tromey).
- Remove gdb-6.6-bz225783-gdb-debuginfo-paths.patch, upstreamed (Tom Tromey).
- Remove gdb-6.6-readline-system.patch, reimplemented upstream (Tom Tromey).
- Remove gdb-bz642879-elfread-sigint-stale.patch, upstreamed (Jan Kratochvil).
- Remove gdb-next-over-throw.patch, upstreamed (Tom Tromey).
This commit is contained in:
Jan Kratochvil 2011-01-01 01:27:30 +01:00
commit 6fa2f55b27
20 changed files with 2144 additions and 2688 deletions

View file

@ -21,11 +21,11 @@
Port to GDB-6.8pre.
Index: gdb-7.2.50.20101116/gdb/inferior.h
Index: gdb-7.2.50.20101231/gdb/inferior.h
===================================================================
--- gdb-7.2.50.20101116.orig/gdb/inferior.h 2010-06-24 17:17:30.000000000 +0200
+++ gdb-7.2.50.20101116/gdb/inferior.h 2010-11-16 07:54:36.000000000 +0100
@@ -198,7 +198,15 @@ extern void reopen_exec_file (void);
--- gdb-7.2.50.20101231.orig/gdb/inferior.h 2011-01-01 01:25:01.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/inferior.h 2011-01-01 01:25:16.000000000 +0100
@@ -186,7 +186,15 @@ extern void reopen_exec_file (void);
/* The `resume' routine should only be called in special circumstances.
Normally, use `proceed', which handles a lot of bookkeeping. */
@ -42,11 +42,11 @@ Index: gdb-7.2.50.20101116/gdb/inferior.h
/* From misc files */
Index: gdb-7.2.50.20101116/gdb/infrun.c
Index: gdb-7.2.50.20101231/gdb/infrun.c
===================================================================
--- gdb-7.2.50.20101116.orig/gdb/infrun.c 2010-11-16 07:53:59.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/infrun.c 2010-11-16 07:55:23.000000000 +0100
@@ -74,7 +74,7 @@ static int follow_fork (void);
--- gdb-7.2.50.20101231.orig/gdb/infrun.c 2011-01-01 01:25:01.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/infrun.c 2011-01-01 01:25:29.000000000 +0100
@@ -76,7 +76,7 @@ static int follow_fork (void);
static void set_schedlock_func (char *args, int from_tty,
struct cmd_list_element *c);
@ -55,7 +55,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
static int currently_stepping_or_nexting_callback (struct thread_info *tp,
void *data);
@@ -1557,7 +1557,7 @@ maybe_software_singlestep (struct gdbarc
@@ -1570,7 +1570,7 @@ maybe_software_singlestep (struct gdbarc
STEP nonzero if we should step (zero to continue instead).
SIG is the signal to give the inferior (zero for none). */
void
@ -64,24 +64,24 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
{
int should_resume = 1;
struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0);
@@ -1589,10 +1589,12 @@ resume (int step, enum target_signal sig
@@ -1602,10 +1602,12 @@ resume (int step, enum target_signal sig
}
if (debug_infrun)
- fprintf_unfiltered (gdb_stdlog,
- "infrun: resume (step=%d, signal=%d), "
- "trap_expected=%d\n",
- step, sig, tp->trap_expected);
- step, sig, tp->control.trap_expected);
+ fprintf_unfiltered (gdb_stdlog, "infrun: resume (step=%s, signal=%d), "
+ "trap_expected=%d\n",
+ (step == RESUME_STEP_CONTINUE ? "RESUME_STEP_CONTINUE"
+ : (step == RESUME_STEP_USER ? "RESUME_STEP_USER"
+ : "RESUME_STEP_NEEDED")),
+ sig, tp->trap_expected);
+ sig, tp->control.trap_expected);
/* Normally, by the time we reach `resume', the breakpoints are either
removed or inserted, as appropriate. The exception is if we're sitting
@@ -1710,9 +1712,10 @@ a command like `return' or `jump' to con
@@ -1723,9 +1725,10 @@ a command like `return' or `jump' to con
individually. */
resume_ptid = inferior_ptid;
}
@ -94,7 +94,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
{
/* User-settable 'scheduler' mode requires solo thread resume. */
resume_ptid = inferior_ptid;
@@ -1921,7 +1924,7 @@ proceed (CORE_ADDR addr, enum target_sig
@@ -1934,7 +1937,7 @@ proceed (CORE_ADDR addr, enum target_sig
struct thread_info *tp;
CORE_ADDR pc;
struct address_space *aspace;
@ -103,7 +103,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
/* If we're stopped at a fork/vfork, follow the branch set by the
"set follow-fork-mode" command; otherwise, we'll just proceed
@@ -1956,13 +1959,13 @@ proceed (CORE_ADDR addr, enum target_sig
@@ -1969,13 +1972,13 @@ proceed (CORE_ADDR addr, enum target_sig
actually be executing the breakpoint insn anyway.
We'll be (un-)executing the previous instruction. */
@ -119,7 +119,7 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
}
else
{
@@ -2003,13 +2006,13 @@ proceed (CORE_ADDR addr, enum target_sig
@@ -2016,13 +2019,13 @@ proceed (CORE_ADDR addr, enum target_sig
is required it returns TRUE and sets the current thread to
the old thread. */
if (prepare_to_proceed (step))
@ -133,9 +133,9 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
- if (oneproc)
+ if (resume_step == RESUME_STEP_USER)
{
tp->trap_expected = 1;
tp->control.trap_expected = 1;
/* If displaced stepping is enabled, we can step over the
@@ -2096,8 +2099,13 @@ proceed (CORE_ADDR addr, enum target_sig
@@ -2109,8 +2112,13 @@ proceed (CORE_ADDR addr, enum target_sig
/* Reset to normal state. */
init_infwait_state ();
@ -145,12 +145,12 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
+ resume_step = RESUME_STEP_NEEDED;
+
/* Resume inferior. */
- resume (oneproc || step || bpstat_should_step (), tp->stop_signal);
+ resume (resume_step, tp->stop_signal);
- resume (oneproc || step || bpstat_should_step (), tp->suspend.stop_signal);
+ resume (resume_step, tp->suspend.stop_signal);
/* Wait for it to stop (if not standalone)
and in any case decode why it stopped, and act accordingly. */
@@ -4859,13 +4867,18 @@ infrun: not switching back to stepped th
@@ -4933,14 +4941,19 @@ infrun: not switching back to stepped th
/* Is thread TP in the middle of single-stepping? */
@ -158,12 +158,14 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
+static enum resume_step
currently_stepping (struct thread_info *tp)
{
- return ((tp->step_range_end && tp->step_resume_breakpoint == NULL)
- || tp->trap_expected
- || tp->stepping_through_solib_after_catch
- || bpstat_should_step ());
+ if ((tp->step_range_end && tp->step_resume_breakpoint == NULL)
+ || tp->trap_expected
- return ((tp->control.step_range_end
- && tp->control.step_resume_breakpoint == NULL)
- || tp->control.trap_expected
- || tp->stepping_through_solib_after_catch
- || bpstat_should_step ());
+ if ((tp->control.step_range_end
+ && tp->control.step_resume_breakpoint == NULL)
+ || tp->control.trap_expected
+ || tp->stepping_through_solib_after_catch)
+ return RESUME_STEP_USER;
+
@ -174,11 +176,11 @@ Index: gdb-7.2.50.20101116/gdb/infrun.c
}
/* Returns true if any thread *but* the one passed in "data" is in the
Index: gdb-7.2.50.20101116/gdb/linux-nat.c
Index: gdb-7.2.50.20101231/gdb/linux-nat.c
===================================================================
--- gdb-7.2.50.20101116.orig/gdb/linux-nat.c 2010-11-16 07:53:59.000000000 +0100
+++ gdb-7.2.50.20101116/gdb/linux-nat.c 2010-11-16 07:54:36.000000000 +0100
@@ -2883,7 +2883,10 @@ count_events_callback (struct lwp_info *
--- gdb-7.2.50.20101231.orig/gdb/linux-nat.c 2011-01-01 01:25:16.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/linux-nat.c 2011-01-01 01:25:16.000000000 +0100
@@ -2908,7 +2908,10 @@ count_events_callback (struct lwp_info *
static int
select_singlestep_lwp_callback (struct lwp_info *lp, void *data)
{
@ -190,10 +192,10 @@ Index: gdb-7.2.50.20101116/gdb/linux-nat.c
return 1;
else
return 0;
Index: gdb-7.2.50.20101116/gdb/linux-nat.h
Index: gdb-7.2.50.20101231/gdb/linux-nat.h
===================================================================
--- gdb-7.2.50.20101116.orig/gdb/linux-nat.h 2010-07-27 22:51:37.000000000 +0200
+++ gdb-7.2.50.20101116/gdb/linux-nat.h 2010-11-16 07:54:36.000000000 +0100
--- gdb-7.2.50.20101231.orig/gdb/linux-nat.h 2011-01-01 01:25:16.000000000 +0100
+++ gdb-7.2.50.20101231/gdb/linux-nat.h 2011-01-01 01:25:16.000000000 +0100
@@ -55,8 +55,8 @@ struct lwp_info
/* If non-zero, a pending wait status. */
int status;