| 1 | /* Macro definitions for running gdb on a Sun 4 running sunos 4. |
| 2 | Copyright (C) 1989, Free Software Foundation, Inc. |
| 3 | |
| 4 | This file is part of GDB. |
| 5 | |
| 6 | This program is free software; you can redistribute it and/or modify |
| 7 | it under the terms of the GNU General Public License as published by |
| 8 | the Free Software Foundation; either version 2 of the License, or |
| 9 | (at your option) any later version. |
| 10 | |
| 11 | This program is distributed in the hope that it will be useful, |
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | GNU General Public License for more details. |
| 15 | |
| 16 | You should have received a copy of the GNU General Public License |
| 17 | along with this program; if not, write to the Free Software |
| 18 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ |
| 19 | |
| 20 | #include "xm-sparc.h" |
| 21 | #define FPU |
| 22 | |
| 23 | /* Large alloca's fail because the attempt to increase the stack limit in |
| 24 | main() fails because shared libraries are allocated just below the initial |
| 25 | stack limit. The SunOS kernel will not allow the stack to grow into |
| 26 | the area occupied by the shared libraries. Sun knows about this bug |
| 27 | but has no obvious fix for it. */ |
| 28 | #define BROKEN_LARGE_ALLOCA |
| 29 | |
| 30 | /* SunOS 4.x has memory mapped files. */ |
| 31 | |
| 32 | #define HAVE_MMAP |
| 33 | |
| 34 | /* If you expect to use the mmalloc package to obtain mapped symbol files, |
| 35 | for now you have to specify some parameters that determine how gdb places |
| 36 | the mappings in it's address space. See the comments in map_to_address() |
| 37 | for details. This is expected to only be a short term solution. Yes it |
| 38 | is a kludge. |
| 39 | FIXME: Make this more automatic. */ |
| 40 | |
| 41 | #define MMAP_BASE_ADDRESS 0xE0000000 /* First mapping here */ |
| 42 | #define MMAP_INCREMENT 0x01000000 /* Increment to next mapping */ |
| 43 | |
| 44 | /* /usr/include/malloc.h defines these w/o prototypes (and uses |
| 45 | char * instead of void *). */ |
| 46 | #define MALLOC_INCOMPATIBLE |
| 47 | extern char* malloc PARAMS (()); |
| 48 | extern char* realloc PARAMS (()); |
| 49 | extern int free PARAMS (()); |
| 50 | |
| 51 | /* SunOS 4.x uses nonstandard "char *" as type of third argument to ptrace() */ |
| 52 | |
| 53 | #define PTRACE_ARG3_TYPE char* |