summaryrefslogtreecommitdiff
path: root/boehm-gc/include
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-25 18:06:24 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-25 18:06:24 +0000
commitfeabd58cbf3080fee17e1792f821582bd08fd8d5 (patch)
treee5a833a73574d5e62d52532dad7b1f72cb709cba /boehm-gc/include
parent85f6e5ea38ececad9926ac3f1895fb04951ed91e (diff)
downloadgcc-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.h2
-rw-r--r--boehm-gc/include/private/gcconfig.h15
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