Changeset 15137


Ignore:
Timestamp:
Dec 14, 2011, 4:47:01 PM (8 years ago)
Author:
rme
Message:

In the Makefiles for the Linux ports, use the --no-as-needed
linker flag to ensure that the libraries that we specify
really get loaded for us.

Undo r15132 and r15133, which added references to external
symbols in libm to ensure that it was linked in. Also
remove a similar kludge of long standing in ppc-asmutils.s.

Location:
trunk/source/lisp-kernel
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/lisp-kernel/arm-asmutils.s

    r15132 r15137  
    194194        __(mov sp,r1)
    195195        __(bx ip)
    196         .globl C(sin)
    197         .long C(sin)
    198196_endfn               
    199197
  • trunk/source/lisp-kernel/linuxarm/Makefile

    r14792 r15137  
    8585
    8686../../armcl:    $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
    87         $(CC)  $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./armlinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
     87        $(CC)  $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./armlinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
    8888
    8989
  • trunk/source/lisp-kernel/linuxppc/Makefile

    r14392 r15137  
    9292
    9393../../ppccl:    $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
    94         $(CC) $(PPC32) $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./elf32ppclinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
     94        $(CC) $(PPC32) $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ -T ./elf32ppclinux.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
    9595
    9696
  • trunk/source/lisp-kernel/linuxppc64/Makefile

    r14392 r15137  
    8080
    8181../../ppccl64:  $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ)
    82         $(CC) -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE)  -o $@ -T ./elf64ppc.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
     82        $(CC) -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE)  -o $@ -T ./elf64ppc.x $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
    8383
    8484
  • trunk/source/lisp-kernel/linuxx8632/Makefile

    r14990 r15137  
    7575
    7676../../lx86cl:   $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) Makefile  $(LINK_SCRIPT)
    77         $(CC)  -m32 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_SCRIPT) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
     77        $(CC)  -m32 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_SCRIPT) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
    7878
    7979
  • trunk/source/lisp-kernel/linuxx8664/Makefile

    r14990 r15137  
    7575
    7676../../lx86cl64: $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) Makefile  $(LINK_MAP)
    77         $(CC)  -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_MAP) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) $(OSLIBS)
     77        $(CC)  -m64 $(CDEBUG)  -Wl,--export-dynamic $(HASH_STYLE) -o $@ $(USE_LINK_MAP) $(KSPOBJ) $(KERNELOBJ) $(DEBUGOBJ) -Wl,--no-as-needed $(OSLIBS)
    7878
    7979
  • trunk/source/lisp-kernel/ppc-asmutils.s

    r15132 r15137  
    5454        __(isync)
    5555        __(blr)
    56 /* The strange reference to "exp" is supposed to force the kernel to */
    57 /* load libm, so lisp code can use it.   Under Darwin, the functionality */
    58 /* of libm is contained in libsystem, along with libc & everything else. */
    59 
    60         __ifndef(`DARWIN')
    61         .data
    62         __ifdef(`PPC64')
    63         .quad C(exp)
    64         __else
    65         .long C(exp)
    66         __endif
    67         .text       
    68         __endif
    6956_endfn
    7057
  • trunk/source/lisp-kernel/x86-asmutils32.s

    r15133 r15137  
    133133        __(pop %ebx)
    134134        __(ret)
    135         __ifndef(`DARWIN')
    136         .globl C(exp)
    137         .long C(exp)
    138         __endif
    139135_endfn
    140136
  • trunk/source/lisp-kernel/x86-asmutils64.s

    r15133 r15137  
    148148        __(movq %rcx,(%ctemp0))
    149149        __(ret)
    150         __ifndef(`DARWIN')
    151         .globl C(exp)
    152         .quad C(exp)
    153         __endif
    154150_endfn
    155151
     
    181177_exportfn(C(darwin_sigreturn))
    182178        .globl C(sigreturn)
    183        
    184179/* Need to set the sigreturn 'infostyle' argument, which is mostly
    185180   undocumented.  On x8664 Darwin, sigtramp() sets it to 0x1e, and
Note: See TracChangeset for help on using the changeset viewer.