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.
This commit is contained in:
Glenn Morris 2012-07-10 00:15:05 -07:00
parent c293e30cd9
commit 882cf227ab
6 changed files with 34 additions and 15 deletions

View file

@ -1,3 +1,7 @@
2012-07-10 Glenn Morris <rgm@gnu.org>
* configure.ac (DATA_START, DATA_SEG_BITS): Move here from src/s.
2012-07-09 Andreas Schwab <schwab@linux-m68k.org>
* configure.ac (PNG_DEPSTRUCT): Define this instead of

View file

@ -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" ;;

View file

@ -11,6 +11,10 @@
2012-07-10 Glenn Morris <rgm@gnu.org>
* 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.

View file

@ -21,9 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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 <stdio.h> /* Get the definition of _IO_STDIO_H. */

View file

@ -79,8 +79,3 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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

View file

@ -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