From 2ef841f9e3f96437d101e021b85ec3dfd8766f9f Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Thu, 29 Jul 2010 04:36:28 +0000
Subject: [PATCH] New linker shell script to build cmucl executables for
 Linux/x86. Could probably also work for FreeBSD, but changes not done yet.

---
 tools/linker-x86.sh | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 tools/linker-x86.sh

diff --git a/tools/linker-x86.sh b/tools/linker-x86.sh
new file mode 100644
index 000000000..4dcb56e10
--- /dev/null
+++ b/tools/linker-x86.sh
@@ -0,0 +1,31 @@
+#!/bin/sh -x
+
+# $Id: linker-x86.sh,v 1.1 2010/07/29 04:36:28 rtoy Exp $
+
+# This file written by Raymond Toy as part of CMU Common Lisp and is
+# placed in the public domain.
+
+if [ $# -ne 6 ]; then
+    echo "Usage: `basename $0` <c-compiler> <initial-func-addr> <executable> <ro-addr> <static-addr> <dyn-addr>"
+    exit 1
+fi
+
+CCOMPILER=$1
+IFADDR=$2
+EXEC=$3
+RO_ADDR="-Wl,--section-start=CORRO=$4"
+STATIC_ADDR="-Wl,--section-start=CORSTA=$5"
+DYN_ADDR="-Wl,--section-start=CORDYN=$6"
+
+OUTDIR=`dirname $EXEC`
+OUTNAME=`basename $EXEC`
+
+CMUCLLIB=`dirname $0`
+
+OPT_IFADDR="-Wl,--defsym -Wl,initial_function_addr=$IFADDR"
+OPT_ARCHIVE="-Wl,--whole-archive -Wl,$CMUCLLIB/lisp.a -Wl,--no-whole-archive"
+OPT_CORE="CORRO.o CORSTA.o CORDYN.o"
+
+(cd $OUTDIR
+$CCOMPILER -m32 -o $OUTNAME -rdynamic $OPT_IFADDR $OPT_ARCHIVE $OPT_CORE $RO_ADDR $STATIC_ADDR $DYN_ADDR -ldl -lm)
+
-- 
GitLab