Index: /trunk/source/lisp-kernel/arm-asmutils.s
===================================================================
--- /trunk/source/lisp-kernel/arm-asmutils.s	(revision 15136)
+++ /trunk/source/lisp-kernel/arm-asmutils.s	(revision 15137)
@@ -194,6 +194,4 @@
         __(mov sp,r1)
         __(bx ip)
-        .globl C(sin)
-        .long C(sin)
 _endfn                
 
Index: /trunk/source/lisp-kernel/linuxarm/Makefile
===================================================================
--- /trunk/source/lisp-kernel/linuxarm/Makefile	(revision 15136)
+++ /trunk/source/lisp-kernel/linuxarm/Makefile	(revision 15137)
@@ -85,5 +85,5 @@
 
 ../../armcl:	$(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
-	$(CC)  $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./armlinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
+	$(CC)  $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./armlinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
 
 
Index: /trunk/source/lisp-kernel/linuxppc/Makefile
===================================================================
--- /trunk/source/lisp-kernel/linuxppc/Makefile	(revision 15136)
+++ /trunk/source/lisp-kernel/linuxppc/Makefile	(revision 15137)
@@ -92,5 +92,5 @@
 
 ../../ppccl:	$(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
-	$(CC) $(PPC32) $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./elf32ppclinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
+	$(CC) $(PPC32) $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./elf32ppclinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
 
 
Index: /trunk/source/lisp-kernel/linuxppc64/Makefile
===================================================================
--- /trunk/source/lisp-kernel/linuxppc64/Makefile	(revision 15136)
+++ /trunk/source/lisp-kernel/linuxppc64/Makefile	(revision 15137)
@@ -80,5 +80,5 @@
 
 ../../ppccl64:	$(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
-	$(CC) -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE)  -o $@ -T ./elf64ppc.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
+	$(CC) -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE)  -o $@ -T ./elf64ppc.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
 
 
Index: /trunk/source/lisp-kernel/linuxx8632/Makefile
===================================================================
--- /trunk/source/lisp-kernel/linuxx8632/Makefile	(revision 15136)
+++ /trunk/source/lisp-kernel/linuxx8632/Makefile	(revision 15137)
@@ -75,5 +75,5 @@
 
 ../../lx86cl:	$(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) Makefile  $(LINK_SCRIPT)
-	$(CC)  -m32 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_SCRIPT) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
+	$(CC)  -m32 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_SCRIPT) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
 
 
Index: /trunk/source/lisp-kernel/linuxx8664/Makefile
===================================================================
--- /trunk/source/lisp-kernel/linuxx8664/Makefile	(revision 15136)
+++ /trunk/source/lisp-kernel/linuxx8664/Makefile	(revision 15137)
@@ -75,5 +75,5 @@
 
 ../../lx86cl64:	$(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) Makefile  $(LINK_MAP)
-	$(CC)  -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_MAP) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
+	$(CC)  -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_MAP) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
 
 
Index: /trunk/source/lisp-kernel/ppc-asmutils.s
===================================================================
--- /trunk/source/lisp-kernel/ppc-asmutils.s	(revision 15136)
+++ /trunk/source/lisp-kernel/ppc-asmutils.s	(revision 15137)
@@ -54,17 +54,4 @@
 	__(isync)
 	__(blr)
-/* The strange reference to "exp" is supposed to force the kernel to */
-/* load libm, so lisp code can use it.   Under Darwin, the functionality */
-/* of libm is contained in libsystem, along with libc & everything else. */
-
-        __ifndef(`DARWIN')
-        .data
-        __ifdef(`PPC64')
-        .quad C(exp)
-        __else
-        .long C(exp)
-        __endif
-        .text        
-        __endif
 _endfn
 
Index: /trunk/source/lisp-kernel/x86-asmutils32.s
===================================================================
--- /trunk/source/lisp-kernel/x86-asmutils32.s	(revision 15136)
+++ /trunk/source/lisp-kernel/x86-asmutils32.s	(revision 15137)
@@ -133,8 +133,4 @@
 	__(pop %ebx)
 	__(ret)
-        __ifndef(`DARWIN')
-        .globl C(exp)
-        .long C(exp)
-        __endif
 _endfn
 
Index: /trunk/source/lisp-kernel/x86-asmutils64.s
===================================================================
--- /trunk/source/lisp-kernel/x86-asmutils64.s	(revision 15136)
+++ /trunk/source/lisp-kernel/x86-asmutils64.s	(revision 15137)
@@ -148,8 +148,4 @@
 	__(movq %rcx,(%ctemp0))
 	__(ret)
-        __ifndef(`DARWIN')
-        .globl C(exp)
-        .quad C(exp)
-	__endif
 _endfn
 
@@ -181,5 +177,4 @@
 _exportfn(C(darwin_sigreturn))
         .globl C(sigreturn)
-	
 /* Need to set the sigreturn 'infostyle' argument, which is mostly
    undocumented.  On x8664 Darwin, sigtramp() sets it to 0x1e, and
