From 5ac449d90c0fa68a04ad6bc9d6583c88ced5523c Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Wed, 14 Aug 1991 00:02:26 +0000 Subject: [PATCH] * solib.c (solib_add): New argument is the target_ops whose section list is to be added to, if any. Reallocate the sections in that target to add any that come from shared libs. (throughout) so_sections renamed to sections. (solib_xfer_memory): Deleted. * tm-sunos.h (SOLIB_ADD): Add target argument. (SOLIB_XFER_MEMORY): Delete. * xm-sun3os4.h, xm-sun4os4.h: Define BROKEN_LARGE_ALLOCA, and add comment explaining shared library screw. --- gdb/tm-sunos.h | 4 +--- gdb/xm-sun3os4.h | 10 +++++----- gdb/xm-sun4os4.h | 8 +++++++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/gdb/tm-sunos.h b/gdb/tm-sunos.h index c9aae94cee..43657d2bcd 100644 --- a/gdb/tm-sunos.h +++ b/gdb/tm-sunos.h @@ -19,13 +19,11 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* This is for SunOS version 4, not for earlier versions. */ #define CLEAR_SOLIB clear_solib -#define SOLIB_ADD(filename, from_tty) solib_add (filename, from_tty) -#define SOLIB_XFER_MEMORY(memaddr, myaddr, len, write) solib_xfer_memory (memaddr, myaddr, len, write) +#define SOLIB_ADD(filename, from_tty, targ) solib_add (filename, from_tty, targ) /* If we can't set a breakpoint, and it's in a shared library, just disable it. */ #define DISABLE_UNSETTABLE_BREAK(addr) solib_address(addr) extern int solib_address (); /* solib.c */ -extern int solib_xfer_memory (); extern void solib_add (); extern void clear_solib (); diff --git a/gdb/xm-sun3os4.h b/gdb/xm-sun3os4.h index 82fd4675c1..d7d1c958d0 100644 --- a/gdb/xm-sun3os4.h +++ b/gdb/xm-sun3os4.h @@ -20,9 +20,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "xm-sun3.h" #define FPU -/* There is a bug which can cause alloca to fail to allocate large - areas of memory one time in every 4096 (we think). */ -/* chase@orc.olivetti.com says that 4 megabyte alloca's consistently fail, - even though the stack limit (SET_STACK_LIMIT_HUGE) has been set - to 250 megabytes. */ +/* Large alloca's fail because the attempt to increase the stack limit in + main() fails because shared libraries are allocated just below the initial + stack limit. The SunOS kernel will not allow the stack to grow into + the area occupied by the shared libraries. Sun knows about this bug + but has no obvious fix for it. */ #define BROKEN_LARGE_ALLOCA diff --git a/gdb/xm-sun4os4.h b/gdb/xm-sun4os4.h index c9034c4ac9..75f1037507 100644 --- a/gdb/xm-sun4os4.h +++ b/gdb/xm-sun4os4.h @@ -18,5 +18,11 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "xm-sparc.h" - #define FPU + +/* Large alloca's fail because the attempt to increase the stack limit in + main() fails because shared libraries are allocated just below the initial + stack limit. The SunOS kernel will not allow the stack to grow into + the area occupied by the shared libraries. Sun knows about this bug + but has no obvious fix for it. */ +#define BROKEN_LARGE_ALLOCA -- 2.34.1