Skip to content
Snippets Groups Projects
  1. Dec 04, 2010
    • rtoy's avatar
      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
  2. Dec 03, 2010
  3. Dec 02, 2010
  4. Dec 01, 2010
  5. Nov 30, 2010
  6. Nov 16, 2010
  7. Nov 12, 2010
  8. Nov 11, 2010
  9. Nov 10, 2010
    • rtoy's avatar
      Add new slots to the backend to hold the foreign linkage space start · e4befc68
      rtoy authored
      and entry size.  Not yet used anywhere.
      
      This change needs a cross-compile; use boot-2010-11-1-cross.lisp as
      the cross-compile script.
      
      compiler/backend.lisp:
      o Add the two new slots to the backend.
      
      compiler/dump.lisp:
      o DUMP-DATA-MAYBE-BYTE-SWAPPING needs to handle (unicode) strings
      o DUMP-DATA-MAYBE-BYTE-SWAPPING should not swap bytes of a string.
        Genesis will make that happen.
      
      code/exports.lisp:
      o Export BACKEND-FOREIGN-LINKAGE-SPACE-START and
        BACKEND-FOREIGN-LINKAGE-ENTRY-SIZE.
      
      bootfiles/20b/boot-2010-11-1-cross.lisp:
      o Cross-compile script for this change.
      e4befc68
    • rtoy's avatar
      Update bootfiles version from 20a to 20b. There won't be anymore · f0ceb567
      rtoy authored
      bootfiles for 20a.
      f0ceb567
  10. Nov 08, 2010
  11. Nov 04, 2010
  12. Nov 03, 2010
  13. Nov 02, 2010
  14. Oct 28, 2010
    • rtoy's avatar
      Update from logs. · ca887265
      rtoy authored
      ca887265
    • rtoy's avatar
      Handle -C option better, especially when given -C "" to denote the · 75d4e67a
      rtoy authored
      default config.
      75d4e67a
    • rtoy's avatar
      Fix critical bug in realpart/imagpart. · 5fc2d92b
      rtoy authored
      o realpart/complex-single-float, realpart/complex-double-float,
        imagpart/complex-double-float, %complex-double-float, and
        %complex-single-float were zeroing out the result register
        which is ok, except when the result register and the source register
        are the same.  Use a temp register in this case.
      
        This bit of code tickles the bug:
      
          (defun zot-r (z)
            (declare (type (simple-array (complex double-float) (*)) z))
            (realpart (aref z 0)))
      
          (defun zot-i (z)
            (declare (type (simple-array (complex double-float) (*)) z))
            (imagpart (aref z 0)))
      
          (let ((z (make-array 1 :element-type '(complex double-float)
      			 :initial-element #c(42d0 -42d0))))
            (zot-r z))
      
          (let ((z (make-array 1 :element-type '(complex double-float)
      			 :initial-element #c(42d0 -42d0))))
            (zot-i z))
      
        The correct results are 42d0 and -42d0, not 0d0, of course.
      5fc2d92b
  15. Oct 27, 2010
  16. Oct 26, 2010
  17. Oct 22, 2010
  18. Oct 15, 2010
  19. Oct 14, 2010
    • rtoy's avatar
      Initial revision. · 7b0b2aba
      rtoy authored
      7b0b2aba
    • rtoy's avatar
      tools/build.sh: · 9073131c
      rtoy authored
      o Add -U option.  This causes the updated translations to overwrite
        the *.po files in source tree.  Without -U, the diff of the changes
        are printed, as before.  The -U option is useful to prepare the po
        files for checking in to the CVS repository.
      
      lisp/GNUmakefile:
      o Put back the original translations target and rule, but rename the
        target to tranlations-update.  This allows developers to overwrite
        the translations in the source tree, ready for analysis or checkin,
        as appropriate.
      9073131c
  20. Oct 13, 2010
    • rtoy's avatar
      Some changes to replace calls to gettext with _"" or _N"" for things · b22644d4
      rtoy authored
      compiled with and without Unicode.  This is needed so that the pot
      files have the same content for both unicode and non-unicode builds.
      (The _"" and _N"" are handled by the reader, so things that are
      conditionalized out still get processed, unlike using gettext.)
      b22644d4
  21. Oct 12, 2010
    • rtoy's avatar
    • rtoy's avatar
      Make read-char and read-byte signal errors when given the wrong kind · 35aebeba
      rtoy authored
      of streams.  This is a change from current 20a and 20b behavior which
      didn't signal errors, but matches the behavior for releases 19f and
      earlier.
      
      But allow them to work on binary-text-streams.  This is the same
      behavior as before for binary-text-stream streams.
      
      However, read-sequence no longer allows reading from streams into
      arbitrary objects, unless the stream is a binary-text-stream stream.
      
      code/fd-stream-extfmt.lisp:
      o In %SET-FD-STREAM-EXTERNAL-FORMAT, only update
        fd-stream-in/fd-stream-out if we have a character or
        binary-text-stream stream.
      o Don't update the fd-stream-string-buffer or lisp-stream-in-buffer if
        we have a binary-text-stream because that will mess up how
        fast-read-char and fast-read-byte dispatch to do the right thing for
        binary-text-stream streams.
      
      code/fd-stream.lisp:
      o Set the fd-stream-in and fd-stream-bin slots appropriately depending
        on whether we have a character, binary, or binary-text-stream
        stream.
      o Only create the lisp-stream-in-buffer if we do NOT have a
        binary-text-stream.  (Binary streams didn't use the
        lisp-stream-buffer previously, so no change there.  Character
        streams use the lisp-stream-buffer and/or lisp-string-buffer.)
      o Set the fd-stream-flags appropriately for the kind of stream this
        is.  Checking a fixnum is faster than checking the type of a stream.
      
      code/struct.lisp:
      o Add FLAGS slot to LISP-STREAM so we can tell what kind of stream
        (character, binary, binary-text-stream) we have.
      
      code/sysmacs.lisp:
      o Change FAST-READ-CHAR so that if we have a have a binary or
        binary-text-stream stream, we dispatch to the fast-read-char methods
        to do the right thing, including signaling an error for the wrong
        kind of stream.
      o Change FAST-READ-BYTE so that if we do not have a binary stream, we
        dispatch to the fast-read-char method to do the right thing.
      
      compiler/dump.lisp:
      o With the above changes, we can no longer write characters to a
        binary stream, like a FASL file.  Make the fasl file a
        binary-text-stream so that we can.  (Alternatively, we could create
        the FASL header as a string, convert to octets and dump the octest
        to the file.  This is easier, and should still be fast for writing
        fasls.)
      35aebeba
  22. Oct 10, 2010
Loading