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,