Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
user avatar
pw authored
  - change the FASL file format to store fasl-file version as uint32,
    rather than a single octet. This requires small changes to the
    FASL dumper and two FOP functions
  - change the FASL-FILE-FORMAT to #x18d for each of the backends
  - change the byte-code version number to #x18d
  - make the FASL file version checking errors continuable
  - add a variable CL::*SKIP-FASL-FILE-VERSION-CHECK* that avoids the
    version check
  - add a bootfile that bootstraps this change

Loading an old FASL file results in the following behaviour:

,----
| Error in function COMMON-LISP::CHECK-VERSION:
|    #<Stream for file "/usr/local/lib/cmucl/lib/subsystems/defsystem-library.x86f">
|    was compiled for fasl-file version 3E3F02, but this is version 18D
| Restarts:
|   0: [CONTINUE] Load #<Stream for file "/usr/local/lib/cmucl/lib/subsystems/defsystem-library.x86f"> anyway
|   1:            Return NIL from load of #p"modules:defsystem-library".
|   2:            Return NIL from load of "home:.cmucl-init".
|   3: [ABORT   ] Skip remaining initializations.
`----
9792d475
History
Name Last commit Last update