- Refresh the patchset with fuzz 0 (for new rpmbuild).

This commit is contained in:
Jan Kratochvil 2008-07-14 09:09:04 +00:00
commit 8b1b3fd689
19 changed files with 403 additions and 323 deletions

View file

@ -6,11 +6,11 @@
use to skip over first half of a GNU/Linux syscall and update
"func_start".
Index: gdb-6.5/gdb/rs6000-tdep.c
Index: gdb-6.8/gdb/rs6000-tdep.c
===================================================================
--- gdb-6.5.orig/gdb/rs6000-tdep.c 2006-07-11 02:57:24.000000000 -0300
+++ gdb-6.5/gdb/rs6000-tdep.c 2006-07-11 12:32:05.000000000 -0300
@@ -76,6 +76,7 @@
--- gdb-6.8.orig/gdb/rs6000-tdep.c 2008-02-20 15:34:43.000000000 +0100
+++ gdb-6.8/gdb/rs6000-tdep.c 2008-07-14 10:25:29.000000000 +0200
@@ -124,6 +124,7 @@ static const char *powerpc_vector_abi_st
struct rs6000_framedata
{
@ -18,33 +18,31 @@ Index: gdb-6.5/gdb/rs6000-tdep.c
int offset; /* total size of frame --- the distance
by which we decrement sp to allocate
the frame */
@@ -905,7 +906,6 @@ store_param_on_stack_p (unsigned long op
static CORE_ADDR
skip_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata)
@@ -1262,7 +1263,6 @@ static CORE_ADDR
skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR lim_pc,
struct rs6000_framedata *fdata)
{
- CORE_ADDR orig_pc = pc;
CORE_ADDR last_prologue_pc = pc;
CORE_ADDR li_found_pc = 0;
gdb_byte buf[4];
@@ -923,6 +923,7 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR l
@@ -1280,11 +1280,13 @@ skip_prologue (struct gdbarch *gdbarch,
int minimal_toc_loaded = 0;
int prev_insn_was_prologue_insn = 1;
int num_skip_non_prologue_insns = 0;
+ int num_skip_ppc64_gnu_linux_syscall_insn = 0;
int r0_contains_arg = 0;
const struct bfd_arch_info *arch_info = gdbarch_bfd_arch_info (current_gdbarch);
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
@@ -943,6 +944,7 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR l
lim_pc = refine_prologue_limit (pc, lim_pc);
const struct bfd_arch_info *arch_info = gdbarch_bfd_arch_info (gdbarch);
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
memset (fdata, 0, sizeof (struct rs6000_framedata));
+ fdata->func_start = pc;
fdata->saved_gpr = -1;
fdata->saved_fpr = -1;
fdata->saved_vr = -1;
@@ -971,6 +973,55 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR l
@@ -1313,6 +1315,55 @@ skip_prologue (struct gdbarch *gdbarch,
break;
op = extract_signed_integer (buf, 4);
op = extract_unsigned_integer (buf, 4);
+ /* A PPC64 GNU/Linux system call function is split into two
+ sub-functions: a non-threaded fast-path (__NAME_nocancel)
@ -98,7 +96,7 @@ Index: gdb-6.5/gdb/rs6000-tdep.c
if ((op & 0xfc1fffff) == 0x7c0802a6)
{ /* mflr Rx */
/* Since shared library / PIC code, which needs to get its
@@ -1138,9 +1189,9 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR l
@@ -1486,9 +1537,9 @@ skip_prologue (struct gdbarch *gdbarch,
we have no line table information or the line info tells
us that the subroutine call is not part of the line
associated with the prologue. */