Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    3cd77bef
    Support cross-compiling from x86 to sparc, unicode. Also fixes some · 3cd77bef
    rtoy authored
    bugs with dumping unicode strings to fasls on a different endian
    architecture.  Combined with cross-x86-sparc.lisp, this will
    successfully cross-compile from x86 (OSX) to sparc (Solaris).  The
    result won't, unfortunately, built itself, but if the callback support
    is commented out, the build is successful.  This new build can then be
    successfully used to do another build that includes callback support.
    don't know what is causing this issue.
    
    compiler/dump.lisp:
    o DUMP-DATA-MAYBE-BYTE-SWAPPING needs to byte-swap unicode (16-bit)
      strings.
    
    compiler/generic/new-genesis.lisp:
    o STRING-TO-CORE needs to swap the byte order of unicode strings if
      the backend and native backend have different endianness.
    o LOAD-CHAR-CODE should load characters based on the backend, not
      native-backend.  (This not used anymore, though?)
    o Add new function byte-swap the char codes of a unicode string.
    o COLD-LOAD-SYMBOL calls MAYBE-BYTE-SWAP-STRING
    o FOP-UNINTERNED-SYMBOL-SAVE, FOP-UNINTERNED-SMALL-SYMBOL-SAVE,
      FOP-STRING, FOP-SMALL-STRING, FOP-FOREIGN-FIXUP,
      and FOP-FOREIGN-DATA-FIXUP need to call MAYBE-BYTE-SWAP-STRING for
      unicode strings.
    
    compiler/ppc/parms.lisp:
    compiler/sparc/parms.lisp:
    compiler/x86/parms.lisp:
    o Initialize backend foreign-linkage space start and entry size
      appropriately.  The target versions are initialized from the backend
      values now too.
    
    
    lisp/os-common.c:
    o Some debugging stuff for foreign linkage data to print out symbol
      names.  Currently ifdef'ed out.
    3cd77bef
    History
    Support cross-compiling from x86 to sparc, unicode. Also fixes some
    rtoy authored
    bugs with dumping unicode strings to fasls on a different endian
    architecture.  Combined with cross-x86-sparc.lisp, this will
    successfully cross-compile from x86 (OSX) to sparc (Solaris).  The
    result won't, unfortunately, built itself, but if the callback support
    is commented out, the build is successful.  This new build can then be
    successfully used to do another build that includes callback support.
    don't know what is causing this issue.
    
    compiler/dump.lisp:
    o DUMP-DATA-MAYBE-BYTE-SWAPPING needs to byte-swap unicode (16-bit)
      strings.
    
    compiler/generic/new-genesis.lisp:
    o STRING-TO-CORE needs to swap the byte order of unicode strings if
      the backend and native backend have different endianness.
    o LOAD-CHAR-CODE should load characters based on the backend, not
      native-backend.  (This not used anymore, though?)
    o Add new function byte-swap the char codes of a unicode string.
    o COLD-LOAD-SYMBOL calls MAYBE-BYTE-SWAP-STRING
    o FOP-UNINTERNED-SYMBOL-SAVE, FOP-UNINTERNED-SMALL-SYMBOL-SAVE,
      FOP-STRING, FOP-SMALL-STRING, FOP-FOREIGN-FIXUP,
      and FOP-FOREIGN-DATA-FIXUP need to call MAYBE-BYTE-SWAP-STRING for
      unicode strings.
    
    compiler/ppc/parms.lisp:
    compiler/sparc/parms.lisp:
    compiler/x86/parms.lisp:
    o Initialize backend foreign-linkage space start and entry size
      appropriately.  The target versions are initialized from the backend
      values now too.
    
    
    lisp/os-common.c:
    o Some debugging stuff for foreign linkage data to print out symbol
      names.  Currently ifdef'ed out.