From 882cf227ab70fc5cd7252781bd55febfbcad27d5 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 10 Jul 2012 00:15:05 -0700 Subject: Move DATA_START, DATA_SEG_BITS from src/s to configure * configure.ac (DATA_START, DATA_SEG_BITS): Move here from src/s. * src/s/irix6-5.h (DATA_START, DATA_SEG_BITS): * src/s/hpux10-20.h (DATA_SEG_BITS, DATA_START): * src/s/gnu.h (DATA_START): Move definitions to configure. --- ChangeLog | 4 ++++ configure.ac | 26 ++++++++++++++++++++++++++ src/ChangeLog | 4 ++++ src/s/gnu.h | 3 --- src/s/hpux10-20.h | 5 ----- src/s/irix6-5.h | 7 ------- 6 files changed, 34 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2e949b4a9d..4504739928 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-07-10 Glenn Morris + + * configure.ac (DATA_START, DATA_SEG_BITS): Move here from src/s. + 2012-07-09 Andreas Schwab * configure.ac (PNG_DEPSTRUCT): Define this instead of diff --git a/configure.ac b/configure.ac index 6f4b3d51c8..20b149f58e 100644 --- a/configure.ac +++ b/configure.ac @@ -3145,6 +3145,32 @@ case $opsys in ;; esac +dnl Used in vm-limit.c +AH_TEMPLATE(DATA_START, [Address of the start of the data segment.]) +dnl Used in lisp.h, emacs.c, mem-limits.h +dnl NEWS.18 describes this as "a number which contains +dnl the high bits to be inclusive or'ed with pointers that are unpacked." +AH_TEMPLATE(DATA_SEG_BITS, [Extra bits to be or'd in with any pointers +stored in a Lisp_Object.]) +dnl if Emacs uses fewer than 32 bits for the value field of a LISP_OBJECT. + +case $opsys in + gnu) + dnl libc defines data_start. + AC_DEFINE(DATA_START, [({ extern int data_start; (char *) &data_start; })]) + ;; + + hpux*) + dnl The data segment on this machine always starts at address 0x40000000. + AC_DEFINE(DATA_START, [0x40000000]) + AC_DEFINE(DATA_SEG_BITS, [0x40000000]) + ;; + irix6-5) + AC_DEFINE(DATA_START, [0x10000000]) + AC_DEFINE(DATA_SEG_BITS, [0x10000000]) + ;; +esac + case $opsys in gnu-kfreebsd) opsysfile="s/gnu-linux.h" ;; diff --git a/src/ChangeLog b/src/ChangeLog index e54ea7d8fe..cbfc1245c1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -11,6 +11,10 @@ 2012-07-10 Glenn Morris + * s/irix6-5.h (DATA_START, DATA_SEG_BITS): + * s/hpux10-20.h (DATA_SEG_BITS, DATA_START): + * s/gnu.h (DATA_START): Move definitions to configure. + * s/irix6-5.h (SETUP_SLAVE_PTY, PTY_NAME_SPRINTF): Drop ifdef guards. We include usg5-4-common.h, which defines them both. diff --git a/src/s/gnu.h b/src/s/gnu.h index 8410ad666f..bac233266c 100644 --- a/src/s/gnu.h +++ b/src/s/gnu.h @@ -21,9 +21,6 @@ along with GNU Emacs. If not, see . */ /* Get most of the stuff from bsd-common */ #include "bsd-common.h" -/* libc defines data_start. */ -#define DATA_START ({ extern int data_start; (char *) &data_start; }) - /* It would be harmless to drop the ifdef emacs test. */ #ifdef emacs #include /* Get the definition of _IO_STDIO_H. */ diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h index 62bb0f4e34..0e47ccee86 100644 --- a/src/s/hpux10-20.h +++ b/src/s/hpux10-20.h @@ -79,8 +79,3 @@ along with GNU Emacs. If not, see . */ /* Conservative garbage collection has not been tested, so for now play it safe and stick with the old-fashioned way of marking. */ #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE - -/* The data segment on this machine always starts at address 0x40000000. */ -#define DATA_SEG_BITS 0x40000000 - -#define DATA_START 0x40000000 diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h index 212a6ffb83..1f50df600d 100644 --- a/src/s/irix6-5.h +++ b/src/s/irix6-5.h @@ -82,10 +82,3 @@ char *_getpty(); /* Tested on Irix 6.5. SCM worked on earlier versions. */ #define GC_SETJMP_WORKS 1 - - -/* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which - were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for - the value field of a LISP_OBJECT). */ -#define DATA_START 0x10000000 -#define DATA_SEG_BITS 0x10000000 -- cgit v1.2.3