mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-28 14:30:48 +00:00
2004-01-16 Andrew Cagney <cagney@redhat.com>
Changes from Peter Schauer. * rs6000-tdep.c: Update copyright year. (rs6000_push_dummy_call): Update the stack pointer before accessing the corresponding stack region. * rs6000-nat.c: Update copyright year. (set_host_arch): Set "info.abfd" to "exec_bfd".
This commit is contained in:
parent
593a5c7394
commit
7aea86e6b1
@ -1,3 +1,12 @@
|
|||||||
|
2004-01-16 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
|
Changes from Peter Schauer.
|
||||||
|
* rs6000-tdep.c: Update copyright year.
|
||||||
|
(rs6000_push_dummy_call): Update the stack pointer before
|
||||||
|
accessing the corresponding stack region.
|
||||||
|
* rs6000-nat.c: Update copyright year.
|
||||||
|
(set_host_arch): Set "info.abfd" to "exec_bfd".
|
||||||
|
|
||||||
2004-01-15 Mark Kettenis <kettenis@gnu.org>
|
2004-01-15 Mark Kettenis <kettenis@gnu.org>
|
||||||
|
|
||||||
* blockframe.c: Update copyright year.
|
* blockframe.c: Update copyright year.
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/* IBM RS/6000 native-dependent code for GDB, the GNU debugger.
|
/* IBM RS/6000 native-dependent code for GDB, the GNU debugger.
|
||||||
|
|
||||||
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
|
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
|
||||||
1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation,
|
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GDB.
|
This file is part of GDB.
|
||||||
|
|
||||||
@ -1002,6 +1002,7 @@ set_host_arch (int pid)
|
|||||||
|
|
||||||
gdbarch_info_init (&info);
|
gdbarch_info_init (&info);
|
||||||
info.bfd_arch_info = bfd_get_arch_info (&abfd);
|
info.bfd_arch_info = bfd_get_arch_info (&abfd);
|
||||||
|
info.abfd = exec_bfd;
|
||||||
|
|
||||||
if (!gdbarch_update_p (info))
|
if (!gdbarch_update_p (info))
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
/* Target-dependent code for GDB, the GNU debugger.
|
/* Target-dependent code for GDB, the GNU debugger.
|
||||||
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
|
|
||||||
1998, 1999, 2000, 2001, 2002, 2003
|
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
|
||||||
Free Software Foundation, Inc.
|
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
|
||||||
|
Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GDB.
|
This file is part of GDB.
|
||||||
|
|
||||||
@ -1247,6 +1248,14 @@ ran_out_of_registers_for_arguments:
|
|||||||
space = (space + 15) & -16;
|
space = (space + 15) & -16;
|
||||||
sp -= space;
|
sp -= space;
|
||||||
|
|
||||||
|
/* This is another instance we need to be concerned about
|
||||||
|
securing our stack space. If we write anything underneath %sp
|
||||||
|
(r1), we might conflict with the kernel who thinks he is free
|
||||||
|
to use this area. So, update %sp first before doing anything
|
||||||
|
else. */
|
||||||
|
|
||||||
|
regcache_raw_write_signed (regcache, SP_REGNUM, sp);
|
||||||
|
|
||||||
/* If the last argument copied into the registers didn't fit there
|
/* If the last argument copied into the registers didn't fit there
|
||||||
completely, push the rest of it into stack. */
|
completely, push the rest of it into stack. */
|
||||||
|
|
||||||
@ -1288,16 +1297,18 @@ ran_out_of_registers_for_arguments:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set back chain properly */
|
/* Set the stack pointer. According to the ABI, the SP is meant to
|
||||||
|
be set _before_ the corresponding stack space is used. On AIX,
|
||||||
|
this even applies when the target has been completely stopped!
|
||||||
|
Not doing this can lead to conflicts with the kernel which thinks
|
||||||
|
that it still has control over this not-yet-allocated stack
|
||||||
|
region. */
|
||||||
|
regcache_raw_write_signed (regcache, SP_REGNUM, sp);
|
||||||
|
|
||||||
|
/* Set back chain properly. */
|
||||||
store_unsigned_integer (tmp_buffer, 4, saved_sp);
|
store_unsigned_integer (tmp_buffer, 4, saved_sp);
|
||||||
write_memory (sp, tmp_buffer, 4);
|
write_memory (sp, tmp_buffer, 4);
|
||||||
|
|
||||||
/* Set the stack pointer. According to the ABI, the SP is meant to
|
|
||||||
be set _before_ the corresponding stack space is used. No need
|
|
||||||
for that here though - the target has been completely stopped -
|
|
||||||
it isn't possible for an exception handler to stomp on the stack. */
|
|
||||||
regcache_raw_write_signed (regcache, SP_REGNUM, sp);
|
|
||||||
|
|
||||||
/* Point the inferior function call's return address at the dummy's
|
/* Point the inferior function call's return address at the dummy's
|
||||||
breakpoint. */
|
breakpoint. */
|
||||||
regcache_raw_write_signed (regcache, tdep->ppc_lr_regnum, bp_addr);
|
regcache_raw_write_signed (regcache, tdep->ppc_lr_regnum, bp_addr);
|
||||||
|
Loading…
Reference in New Issue
Block a user