diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-25 18:06:24 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-25 18:06:24 +0000 |
commit | feabd58cbf3080fee17e1792f821582bd08fd8d5 (patch) | |
tree | e5a833a73574d5e62d52532dad7b1f72cb709cba /boehm-gc/include | |
parent | 85f6e5ea38ececad9926ac3f1895fb04951ed91e (diff) | |
download | gcc-feabd58cbf3080fee17e1792f821582bd08fd8d5.tar.gz |
* include/gc.h (GC_INIT): Add DATASTART and DATAEND roots on AIX.
* include/private/gcconfig.h (RS6000): Add 64-bit AIX support.
Define USE_GENERIC_PUSH_REGS. Use AIX _data and _end symbols for
DATASTART and DATAEND roots.
* rs6000_mach_dep.s: Add function descriptor and traceback table.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49218 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc/include')
-rw-r--r-- | boehm-gc/include/gc.h | 2 | ||||
-rw-r--r-- | boehm-gc/include/private/gcconfig.h | 15 |
2 files changed, 13 insertions, 4 deletions
diff --git a/boehm-gc/include/gc.h b/boehm-gc/include/gc.h index c73ecc0ae7a..7d5bd250b8b 100644 --- a/boehm-gc/include/gc.h +++ b/boehm-gc/include/gc.h @@ -888,7 +888,7 @@ extern void GC_thr_init(); /* Needed for Solaris/X86 */ # define GC_INIT() { extern end, etext; \ GC_noop(&end, &etext); } #else -# if defined(__CYGWIN32__) && defined(GC_USE_DLL) +# if (defined(__CYGWIN32__) && defined(GC_USE_DLL)) || defined (_AIX) /* * Similarly gnu-win32 DLLs need explicit initialization */ diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h index 75405dcd7af..1c92ee31f2f 100644 --- a/boehm-gc/include/private/gcconfig.h +++ b/boehm-gc/include/private/gcconfig.h @@ -1174,10 +1174,19 @@ # ifdef RS6000 # define MACH_TYPE "RS6000" -# define ALIGNMENT 4 -# define DATASTART ((ptr_t)0x20000000) +# ifdef __64BIT__ +# define ALIGNMENT 8 +# define CPP_WORDSZ 64 +# else +# define ALIGNMENT 4 +# define CPP_WORDSZ 32 +# endif + extern int _data, _end; +# define DATASTART ((ptr_t)((ulong)&_data)) +# define DATAEND ((ptr_t)((ulong)&_end)) extern int errno; # define STACKBOTTOM ((ptr_t)((ulong)&errno)) +# define USE_GENERIC_PUSH_REGS # define DYNAMIC_LOADING /* For really old versions of AIX, this may have to be removed. */ # endif @@ -1582,7 +1591,7 @@ # if defined(SVR4) || defined(LINUX) || defined(IRIX) || defined(HPUX) \ || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \ - || defined(BSD) || defined(AIX) || defined(MACOSX) || defined(OSF1) + || defined(BSD) || defined(_AIX) || defined(MACOSX) || defined(OSF1) # define UNIX_LIKE /* Basic Unix-like system calls work. */ # endif |