[cmucl-commit] CMUCL commit: src/lisp (elf.c)

Raymond Toy rtoy at common-lisp.net
Wed Dec 22 21:16:30 CET 2010


    Date: Wednesday, December 22, 2010 @ 15:16:30
  Author: rtoy
    Path: /project/cmucl/cvsroot/src/lisp

Modified: elf.c

Update conditionals so this does the right thing on Solaris/x86 so
that the correct object files are dumped and so that we can link them
all together.

However, the resulting exectable does not work on Solaris/x86.


-------+
 elf.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)


Index: src/lisp/elf.c
diff -u src/lisp/elf.c:1.30 src/lisp/elf.c:1.31
--- src/lisp/elf.c:1.30	Tue Sep  7 23:28:08 2010
+++ src/lisp/elf.c	Wed Dec 22 15:16:29 2010
@@ -8,7 +8,7 @@
 
  Above changes put into main CVS branch. 05-Jul-2007.
 
- $Id: elf.c,v 1.30 2010-09-08 03:28:08 agoncharov Rel $
+ $Id: elf.c,v 1.31 2010-12-22 20:16:29 rtoy Exp $
 */
 
 #include <stdio.h>
@@ -124,7 +124,7 @@
     eh.e_ident[EI_MAG3]		= ELFMAG3;
 
     eh.e_ident[EI_CLASS]	= ELFCLASS32;
-#ifdef SOLARIS
+#if defined(sparc) && defined(SOLARIS)
     eh.e_ident[EI_DATA]		= ELFDATA2MSB;
 #else
     eh.e_ident[EI_DATA]		= ELFDATA2LSB;
@@ -141,7 +141,7 @@
 #else
     eh.e_type		= ET_NONE;	/* ???? */
 #endif
-#ifdef SOLARIS
+#if defined(sparc) && defined(SOLARIS)
     /*
      * We only support 32-bit code right now, and our binaries are
      * v8plus binaries.
@@ -361,7 +361,7 @@
 	    free(paths);
 	    printf("\t[%s: linking %s... \n", command, file);
 	    fflush(stdout);
-#if defined(__linux__) || defined(__FreeBSD__) || defined(sparc)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(SOLARIS)
             sprintf(command_line, "%s %s 0x%lx '%s' 0x%lx 0x%lx 0x%lx", command,
                     C_COMPILER, init_func_address, file,
                     (unsigned long) READ_ONLY_SPACE_START,


More information about the cmucl-commit mailing list