]> git.eshelyaron.com Git - emacs.git/commitdiff
Move DATA_START, DATA_SEG_BITS from src/s to configure
authorGlenn Morris <rgm@gnu.org>
Tue, 10 Jul 2012 07:15:05 +0000 (00:15 -0700)
committerGlenn Morris <rgm@gnu.org>
Tue, 10 Jul 2012 07:15:05 +0000 (00:15 -0700)
* 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
configure.ac
src/ChangeLog
src/s/gnu.h
src/s/hpux10-20.h
src/s/irix6-5.h

index 2e949b4a9d02c6ad4d57fed9483c928d4b68a1be..4504739928be5c7c2c7af56e447cedd1d45a0c85 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index 6f4b3d51c89b1a0a83b6eaeaecee0c4348eab61b..20b149f58e2a6b68fbb6bc41e515538873da98ca 100644 (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" ;;
 
index e54ea7d8fe9dc225bbadc327ebee8fdc1168471f..cbfc1245c13d4a2c425e580561ca9277a9dad4b6 100644 (file)
 
 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.
 
index 8410ad666f5321cd73e4b4900b0f86fd20db84ce..bac233266c87dba98e2561aff6a8d56eafbfef22 100644 (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.  */
index 62bb0f4e344c7d8b029eaf22cc67ceb4bc7f6a65..0e47ccee86f4ab0615304dd679c15d58b573ecbb 100644 (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
-\f
-/* The data segment on this machine always starts at address 0x40000000.  */
-#define DATA_SEG_BITS 0x40000000
-
-#define DATA_START    0x40000000
index 212a6ffb83914e37b0c9c7f7b2b12e9cb0b6beec..1f50df600d93b67be130ed89eeaf1833a00a04ce 100644 (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