Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Static executable v2 rebase against sbcl master #2

Open
wants to merge 4,023 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4023 commits
Select commit Hold shift + click to select a range
7f7be00
Change order in which spaces are written to core file
snuglas Aug 2, 2022
20f87ee
Improve FIND-ALL-SYMBOLS
snuglas Aug 2, 2022
5f45bdc
Add some flexibility to the build
snuglas Aug 2, 2022
c321afb
Remove unused variable
snuglas Aug 2, 2022
9de74a0
Add /usr/local/include for freebsd
snuglas Aug 2, 2022
76a3c72
Use leaf_obj_widetag_p more
snuglas Aug 2, 2022
9500e00
Don't use type-approx-intersection2 in constrain-ref-type.
stassats Aug 2, 2022
e574a5b
Prevent crash to ldb if run-program can't make pipe
snuglas Aug 2, 2022
02bc916
Placate clang-tidy
snuglas Aug 2, 2022
96f0f26
Remove non-pauseless-threadstart code
kartik-s Aug 2, 2022
7cd6a9a
Restore -sb-thread.
stassats Aug 3, 2022
834dda5
Skip a test on -sb-thread
stassats Aug 3, 2022
718ba29
Readonlyize more strings
snuglas Aug 3, 2022
a0b0594
Fix extremely deceptive indentation
snuglas Aug 3, 2022
9738f57
Fix some new immobile space bugs
snuglas Aug 4, 2022
7d81006
Skip R/O space scan in apropos-list if saved with :PURIFY NIL
snuglas Aug 4, 2022
a14c6d1
Put immobile-codeblob-offsets in R/O space
snuglas Aug 4, 2022
9d4a172
Malloc the tlsf structure
snuglas Aug 4, 2022
8f4bf48
x86-64: implement load-other-pointer-widetag, test-widetag VOPs.
stassats Aug 4, 2022
8ff92aa
Get big-endian C build to not croak
snuglas Aug 4, 2022
f7aed25
Fix fullcgc crash
snuglas Aug 5, 2022
1a0a291
Get sparc regression run to stop crashing in parallel-exec
snuglas Aug 5, 2022
3bfea7f
Always define page_words_t as 'unsigned short'
snuglas Aug 5, 2022
45fa569
Allow a TN to be used more than once in :more.
stassats Aug 5, 2022
f42dc70
Be less parsimonious with memory for fullcgc bitmap
snuglas Aug 6, 2022
bf62e40
Simplify error test
snuglas Aug 6, 2022
e393bb5
Fix type conflict
snuglas Aug 6, 2022
b3555da
Mostly forbid duplicate DEFUNs in genesis
snuglas Aug 6, 2022
4ca2844
Always deport codeblob offsets from heap before final GC
snuglas Aug 7, 2022
75a9f0d
Remove x86-darwin files
snuglas Aug 7, 2022
db2b157
x86-64: Compile fewer custom trampolines
snuglas Aug 7, 2022
e7edc14
Fix hide-packages test if heap assertions on
snuglas Aug 8, 2022
bb00acd
Use $(CC) instead of cc. Fixes lp#1976148
snuglas Aug 8, 2022
fb5f94c
Fix hide-packages.test.sh again
snuglas Aug 8, 2022
1424306
x86-64: give all funcallable-instances a builtin trampoline
snuglas Aug 8, 2022
223b0eb
Combine more other-pointer type testing VOPs.
stassats Aug 8, 2022
390809a
Remove obsolete junk
snuglas Aug 9, 2022
b1f2aeb
Update comment to reflect reality
snuglas Aug 9, 2022
9d86d1e
Rewrite decode_fdefn_rawfun() to be understandable
snuglas Aug 9, 2022
7c82ce5
Handle SYMBOLP when combining other pointer type tests.
stassats Aug 9, 2022
280fb8e
Stop enlivening so many brothertree nodes
snuglas Aug 9, 2022
84f00d4
Assume that sizeof (page_words_t) is 2 in genesis
snuglas Aug 10, 2022
485400c
Optimize a sequence of instance type tests.
stassats Aug 10, 2022
494afec
Speedup WRITE-BIGVEC-AS-SEQUENCE
snuglas Aug 10, 2022
2658b19
win32: Remove #ifdef from load_corefile_ptes
snuglas Aug 10, 2022
8a3e49f
More-or-less revert db2b157b2a06
snuglas Aug 10, 2022
7666f26
Check for layout-depthoid-ge in structure-typep as well.
stassats Aug 11, 2022
c9d4cd3
Workaround cmucl limitation
snuglas Aug 11, 2022
59b7015
x86-64: shorten generic functions by 2 words
snuglas Aug 11, 2022
b8ff0a4
Pass a GC space identifier to os_validate
snuglas Aug 11, 2022
b1feb42
A typo in win32.
stassats Aug 11, 2022
9d51ce5
Fix relocation.test.sh
stassats Aug 11, 2022
0c64793
De-obfuscate fixnum-lowtags
snuglas Aug 11, 2022
d123521
Remove some old stray type declaration.
stassats Aug 11, 2022
095c936
Fix spurious test failure
snuglas Aug 11, 2022
62bfe90
Fix genesis to reject duplicate defuns (again)
snuglas Aug 11, 2022
261d3e5
Remove equal-hash/unstable
snuglas Aug 11, 2022
5b02274
Unbreak #-sb-unicode
snuglas Aug 12, 2022
4a8442c
Speed up fop-load-code for genesis
snuglas Aug 12, 2022
876e4c4
Optimize QUOTE-STRING
snuglas Aug 12, 2022
45d9120
Use a standard predicate
snuglas Aug 12, 2022
bc07e60
x86-64: implement structure-typep.
stassats Aug 12, 2022
fe1010f
Fix -compact-instance-header
stassats Aug 12, 2022
16c2c69
Change horrible logic to not-so-bad
snuglas Aug 13, 2022
da2a468
Update ASSERT_REGIONS_CLOSED for more regions
snuglas Aug 13, 2022
88e6707
Generalize initializing and closing all TLABs for a thread
snuglas Aug 14, 2022
58d2278
Revert "Generalize initializing and closing all TLABs for a thread"
snuglas Aug 14, 2022
f2880b4
Avoid full call to PATHNAMEP
snuglas Aug 14, 2022
95485d0
32-bit: Fix some C warnings
snuglas Aug 14, 2022
8f9216e
Reapply 88e67077dcf0 with corrections
snuglas Aug 14, 2022
1523452
Use the other TLABs for something (trivial for now)
snuglas Aug 14, 2022
e02ae6d
Check :start/end for FILL more thoroughly.
stassats Aug 14, 2022
c111171
Unused variable.
stassats Aug 14, 2022
b95bd21
Remove convoluted genesis logic
snuglas Aug 15, 2022
a3feb2d
Fix test breakage due to b95bd213c9
snuglas Aug 15, 2022
7793865
Remove DYNAMIC-SPACE-END and CURRENT-DYNAMIC-SPACE-START
snuglas Aug 15, 2022
ceb4343
Add some truly-the
snuglas Aug 15, 2022
48923f0
Test for condition pathname structure-object using structure-typep.
stassats Aug 16, 2022
78322bd
define-vop: :unused-if for temporaries.
stassats Aug 17, 2022
953d4b7
Test for sealed classes using structure-typep too.
stassats Aug 17, 2022
a63e908
Cajole COPY-STRUCTURE to inline itself more
snuglas Aug 17, 2022
21051c7
Move pcl-compile out of cold build
snuglas Aug 17, 2022
0571cab
Improve ldb_monitor 'threads' command
snuglas Aug 17, 2022
453d81a
Disable sb-capstone tests
snuglas Aug 17, 2022
ea343e2
Fix -compact-instance-header
stassats Aug 17, 2022
5fcef04
Fix clang-tidy finding
snuglas Aug 17, 2022
b0cfc55
Fix ir2-optimize-jumps.
stassats Aug 17, 2022
5d13f39
Fix GNU-stack note
snuglas Aug 19, 2022
f6e605a
Remove "augmented" symbols
snuglas Aug 19, 2022
f888634
other-pointer-subtype-p vop-optimize: follow the true branch too.
stassats Aug 19, 2022
c909791
structure-typep vop-optimize: follow the true branch too.
stassats Aug 19, 2022
91714ad
Flip a let binding order
snuglas Aug 19, 2022
85eb110
Fix ppc64 cold-init crash
snuglas Aug 20, 2022
9757524
Slightly faster slow-hairy-data-vector-ref.
stassats Aug 21, 2022
479b08c
Don't pass arg-count in hairy-data-vector-ref.
stassats Aug 21, 2022
ba8c029
Don't check for VECTOR before calling hairy-data-vector-ref.
stassats Aug 21, 2022
94b517c
arm64: encode more immediates for < >.
stassats Aug 21, 2022
1cd807b
Better type checks for (and array/vector (not simple-array)).
stassats Aug 21, 2022
f204c45
Adjust a test for #-sb-unicode
stassats Aug 22, 2022
61fb1c2
Use stronger type declaration
snuglas Aug 22, 2022
315b122
Favor base-string as the prefix in GENSYM
snuglas Aug 22, 2022
0adc822
Split sb-pcl::format-symbol into two variants
snuglas Aug 22, 2022
5e4213f
Initial draft of NEWS for sbcl-2.2.8
csrhodes Aug 22, 2022
72b0ef9
Clarify a NEWS entry.
stassats Aug 22, 2022
e3d98e3
Use a single value type in cast-externally-checkable-p.
stassats Aug 22, 2022
00a4f4f
Remove unused definitions
snuglas Aug 23, 2022
9c97be7
Speedup float-math verification
snuglas Aug 24, 2022
cbba995
Remove mention of SB-RBTREE from warm build
snuglas Aug 24, 2022
2c1a4fd
Add a test for a full call to AREF not doing type checks.
stassats Aug 24, 2022
bc2ec2b
github actions: increase dynamic space size.
stassats Aug 25, 2022
345f145
Improve some wording
snuglas Aug 27, 2022
e0d0a45
Remove inapplicable documentation
snuglas Aug 27, 2022
4499925
Remove unused variable
snuglas Aug 27, 2022
3b55433
Workaround a pseudo-static-generation annoyance
snuglas Aug 27, 2022
199f852
2.2.8: will be tagged as "sbcl-2.2.8"
csrhodes Aug 30, 2022
38a6cbc
Don't restore spilled registers after calling a NIL function.
stassats Aug 26, 2022
201fee1
Don't type-check for vector in FILL-POINTER.
stassats Aug 26, 2022
75d5aaf
arm64: implement test-header-data-bit.
stassats Aug 29, 2022
aef21df
Always use test-header-data-bit.
stassats Aug 30, 2022
443396f
x86-64: Use inc/dec for add/sub of 1
snuglas Aug 31, 2022
b99d0db
x86-64: improve SAP+ and VECTOR-SAP
snuglas Aug 31, 2022
5e4fbdb
x86-64: simplify some junk
snuglas Aug 31, 2022
53ab2ac
Fix ash-mod64 constant folding.
stassats Aug 31, 2022
9babf80
Delete mention of nonexistent things
snuglas Aug 31, 2022
bc3630d
Remove unused functions
snuglas Aug 31, 2022
eac5fc0
Highlight atom values in LET forms.
stassats Sep 1, 2022
ba618bc
Don't check for INDEX in HAIRY-DATA-VECTOR-REF.
stassats Sep 1, 2022
fbd46c5
Run contrib tests with all other tests and not in make-target-contrib
snuglas Sep 2, 2022
55655ce
Add another bail-out condition for mpfr tests
snuglas Sep 2, 2022
22c7312
Mark some TODO items as done.
karlosz Sep 3, 2022
0aeeeee
Update RMDIR.ERROR.3 test
snuglas Sep 3, 2022
bd2e95d
Make cltl2 tests pass with fasteval
snuglas Sep 3, 2022
ce7e0e3
Test sb-introspect just like all the other contribs
snuglas Sep 3, 2022
d553587
Skip some sb-concurrency tests unless compiling
snuglas Sep 3, 2022
851cbd2
Rename LINKAGE-TABLE to ALIEN-LINKAGE-TABLE
snuglas Sep 3, 2022
9dae557
Simplify logic around untagged fdefns
snuglas Sep 4, 2022
03acca3
Fix search-and-replace error from rename of linkage-table
snuglas Sep 4, 2022
bb8379b
More TODO fixups.
karlosz Sep 4, 2022
5206ce5
Workaround extremely suboptimal alien-funcall
snuglas Sep 4, 2022
aaced47
Fix lvar-fun-type on :cleanup functions.
stassats Sep 4, 2022
b4bf930
Capture exactly one closure variable in start-lisp
snuglas Sep 5, 2022
861a55d
Express os_link_runtime() more succinctly
snuglas Sep 5, 2022
14696f8
x86-64: Shake out some unused vops post-build
snuglas Sep 5, 2022
ba3a204
Use SAP-REF-SAP
snuglas Sep 5, 2022
267ad02
Improve heap-relocation test
snuglas Sep 6, 2022
30f837e
sb-simd: use interpreter only when available
Sep 6, 2022
d29da34
src/runtime: fix -fno-common build on darwin
trofi Sep 6, 2022
1faf81d
Disable a posix test on freebsd.
stassats Sep 6, 2022
1a78075
Fix omission from test manifest
snuglas Sep 6, 2022
253ca84
sb-walker: leave malformed let* untouched.
stassats Sep 6, 2022
c262bc7
sb-bsd-sockets tests: add JOIN-THREAD.
stassats Sep 7, 2022
dac8bd6
Combine macro and function pprint dispatch entry
snuglas Sep 7, 2022
f4ecb43
Fix regression from 9dae557697
snuglas Sep 7, 2022
9c37d99
x86-64: shorten KEYWORDP on known symbol
snuglas Sep 7, 2022
1b4880e
Whitespace
snuglas Sep 7, 2022
5b7928d
Speedup and simplify reader charmacro lookup
snuglas Sep 7, 2022
db71d58
Combine linkage-table.lisp into foreign.lisp
snuglas Sep 8, 2022
e30d415
with-pinned-objects: make sure constants are preserved.
stassats Sep 8, 2022
7c2ca9d
Allow a few random GC page allocations in no-consing tests
snuglas Sep 8, 2022
e74e515
x86-64: Test undefined aliens + *compile-to-memory-space*
snuglas Sep 9, 2022
77bee92
Fix elfcore test
snuglas Sep 9, 2022
a0feebb
Tidy up parms files by removing #-gencgc
snuglas Sep 9, 2022
2c5664e
Define alien-linkage-table-space-size as a constant
snuglas Sep 9, 2022
7d46cf7
Shave off a move
snuglas Sep 9, 2022
09d88bd
Unmark test as failing on win32
snuglas Sep 9, 2022
8968446
x86-64: relocatable alien linkage table if #+immobile-space
snuglas Sep 9, 2022
46027ac
arm64: implement keywordp using a VOP.
stassats Sep 9, 2022
322e747
x86-64: Improve disassembly notes
snuglas Sep 10, 2022
27cbf18
Remove obsolete function
snuglas Sep 10, 2022
27e216a
Fix spelling
snuglas Sep 10, 2022
fb37d92
Remove incorrect test
snuglas Sep 10, 2022
f07385a
Simplify expansion of handler-bind
snuglas Sep 11, 2022
9677d61
Preserve a required symbol for a test
snuglas Sep 11, 2022
d008cb1
Store original size in forwarding pointer of resized instances
snuglas Sep 11, 2022
e229449
Fix allocator.pure for big-endian
snuglas Sep 11, 2022
97f03d4
Add optional logging to file of compilation to memory
snuglas Sep 11, 2022
2294fa2
Pick a better name for ftype-from-fdefn
snuglas Sep 11, 2022
48c583e
Revise blt-copier-for-widetag yet again
snuglas Sep 11, 2022
383ff66
Share definitions
snuglas Sep 11, 2022
1775976
Simplify %COERCE-NAME-TO-FUN
snuglas Sep 12, 2022
db90deb
Simplify things
snuglas Sep 12, 2022
24ac302
Adjust VOP names.
stassats Sep 12, 2022
c4a2a28
unary-truncate float transforms: mark %single/double-float flushable.
stassats Sep 12, 2022
71c3918
Fix +sb-devel
stassats Sep 12, 2022
291cda8
Disable a test.
stassats Sep 12, 2022
43d0941
sb-posix: play nice in test sandbox
snuglas Sep 12, 2022
a60fb4f
Fix TRACE/UNTRACE weirdness due to (setf fdefinition)
snuglas Sep 12, 2022
776cfd1
x86-64: Remove signed-imm-data/asm-routine to fix bad disassembly
snuglas Sep 12, 2022
da61e1e
Speed up alien-linkage-index-to-name
snuglas Sep 12, 2022
66bcc4c
Remove a distinction without a difference
snuglas Sep 12, 2022
72c1002
Add fboundp transform
snuglas Sep 12, 2022
5adcb3f
Remove initial-p slot of pprint dispatch entry
snuglas Sep 12, 2022
489ef75
Fix vector-push-extend.
stassats Sep 13, 2022
1c4870f
Skip a safety check in handler-bind
snuglas Sep 13, 2022
99eda33
x86-64: fix disassemble annotation.
stassats Sep 13, 2022
e6fa775
Fix cold-init for -sb-unicode.
stassats Sep 13, 2022
0e5a6ee
Make symbol-function unsafely-flushable
snuglas Sep 13, 2022
3100f0a
Mark an ansi test as failing.
stassats Sep 13, 2022
a1e8ff8
Mark an ansi test as sometimes not failing.
stassats Sep 13, 2022
e3870ba
ansi-tests.sh: correctly detect sb-fasteval
stassats Sep 13, 2022
f853bd3
win32: fix %primitive print
snuglas Sep 13, 2022
4cbab87
Define a private SETF function for symbol-function
snuglas Sep 14, 2022
e181eaa
Rename n-named-calls to n-fdefns
snuglas Sep 14, 2022
d52ab27
Remove an irrelevant TODO
snuglas Sep 14, 2022
e5a6c90
arm64, verify-arg-count: use sub + cmp instead of two cmps.
stassats Sep 14, 2022
3df0a8a
x86-64, verify-arg-count: use lea + cmp instead of two cmps.
stassats Sep 14, 2022
4cdb5eb
Get *SHOW-NEW-CODE* to work in cold-init
snuglas Sep 14, 2022
d9a12b5
x86-64: Rework assembly routine fixups
snuglas Sep 14, 2022
70c2775
Fix #-immobile-space
snuglas Sep 15, 2022
84ee8f8
Mark some slots as read-only
snuglas Sep 15, 2022
1c5f82b
Shake out a few more symbols
snuglas Sep 15, 2022
d7ae667
Don't derive the type of (truncate float 1) conservatively.
stassats Sep 15, 2022
29d7019
Simplify global function application in fasteval
snuglas Sep 15, 2022
0ea31c0
Remove one fixup flavor
snuglas Sep 15, 2022
1d80524
Cut down the float-math journal by about 20%
snuglas Sep 15, 2022
82c7b00
Use the correct test for "is FNAME defined?"
snuglas Sep 15, 2022
46b0178
Do an old FIXME from initial commit
snuglas Sep 15, 2022
ede9b6f
Weed out more chaff from win32 headers
snuglas Sep 16, 2022
415faaa
Do two more FIXMEs
snuglas Sep 16, 2022
8c91954
Add missing arg
snuglas Sep 16, 2022
2599bf3
Change setf-fdefinition-hook to a defglobal
snuglas Sep 16, 2022
8344f98
Express range_dirty_p() with less nesting
snuglas Sep 16, 2022
f538646
Perform darwin-related housekeeping
snuglas Sep 16, 2022
cad8039
Transform FROUND on floats when #+round-float is available.
stassats Sep 16, 2022
b4b87cc
Remove a bunch of "#ifdef GENCGC" etc
snuglas Sep 16, 2022
0975516
Get parallel-exec to exit cleanly on x86-64 macOS
snuglas Sep 16, 2022
7026bb8
Remove mach-exception-handler
snuglas Sep 16, 2022
00b0dcb
fixes to compile on windows 32-bit
Sep 16, 2022
088c52d
Remove all os_invalidate() "variations"
snuglas Sep 16, 2022
d5594f0
Unbreak #+(and unix sb-safepoint)
snuglas Sep 16, 2022
3ec33b9
Cargo-cult some linkable-runtime stuff
snuglas Sep 17, 2022
6b5f65f
Invent a GC space identifier for stack regions
snuglas Sep 17, 2022
5a2e639
Rename os_validate to os_alloc_gc_space
snuglas Sep 17, 2022
f624159
Add support for looking up foreign addresses from the linkage table.
daewok Mar 2, 2021
c930447
Be more robust to dlopen(NULL) failing
daewok Mar 16, 2021
f6d1085
Add make recipe for static-shrinkwrap-sbcl
daewok Mar 16, 2021
3960ec8
Add os_link_from_pointer_table
daewok Mar 16, 2021
6743cc2
Make all host steps before any target steps
daewok Mar 16, 2021
b89f19b
Add the :SB-PRELINK-LINKAGE-TABLE feature
daewok Mar 16, 2021
83a7007
Support -os-provides-dlopen
daewok Mar 16, 2021
0f5cb47
sb-gmp: Add support for static linking of libgmp
daewok Mar 16, 2021
6ecb353
Add helper script to dump linkage info
daewok Mar 16, 2021
9c65c97
Add environment variable to ignore contrib failures while building
daewok Mar 16, 2021
43b61d8
Add helper script to generate a linkage table override
daewok Mar 16, 2021
6f74ae2
Add Dockerfile giving an example on how to build static executable
daewok Mar 16, 2021
ea218ef
Add README.static-executable
daewok Mar 16, 2021
9498444
Bump to latest alpine version for Docker image and install git
daewok Oct 2, 2021
2a5af6f
add changes from package-data-list.lisp-expr to exports.lisp
tgbugs Jul 20, 2022
4d2d54c
port linkage-table changes to foreign
tgbugs Sep 17, 2022
75c824b
complete renames for linkage table lisp -> alien
tgbugs Sep 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ freebsd_build_task:

freebsd_instance:
matrix:
image_family: freebsd-12-1
image_family: freebsd-11-3-snap
image_family: freebsd-12-3
image_family: freebsd-13-0
image_family: freebsd-14-0-snap
cpu: 1
memory: 1G

Expand Down
2 changes: 2 additions & 0 deletions .dir-locals.el
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
((nil . ((indent-tabs-mode . nil)))
(makefile-mode . ((indent-tabs-mode . t))))
113 changes: 91 additions & 22 deletions .github/workflows/cl-host.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,23 @@ jobs:
ecl:

runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v1
- uses: actions/cache@v1
id: ecl-cache
id: ecl-cache3
with:
path: /tmp/ecl
key: ecl-cache
key: ecl-cache3

- name: build host ecl
if: steps.ecl-cache.outputs.cache-hit != 'true'
if: steps.ecl-cache3.outputs.cache-hit != 'true'
run: |
wget -q https://github.com/sbcl/sbcl/releases/download/sbcl-1.4.14/ecl.tgz
tar xf ecl.tgz
cd ecl
./configure --prefix=/usr/
./configure --prefix=/usr/ --enable-threads
make
working-directory: /tmp

Expand All @@ -40,51 +41,59 @@ jobs:
clisp:

runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v1
- name: instal host clisp
run: |
sudo apt-get -qq update | true
sudo apt-get -qq install clisp
sudo apt-get -qq install clisp git-restore-mtime
- name: build
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: ./make.sh --xc-host='clisp -on-error exit'

abcl:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: instal host abcl
run: |
wget -q https://github.com/sbcl/sbcl/releases/download/sbcl-1.4.14/abcl.jar
echo '(setf system::*invoke-debugger-hook* (lambda (c fun) (princ c) (top-level::backtrace-command 100) (exit :status 1)))' > ~/.abclrc
- name: build
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: ./make.sh --xc-host='java -jar abcl.jar'
git restore-mtime
./make.sh --xc-host='clisp -on-error exit'
- name: archive clisp-xc fasls
run: tar --transform 's,^,clisp-host/,' -cf clisp-host-fasls.tgz obj/from-xc/
- name: upload clisp-xc archive
uses: actions/upload-artifact@v3
with:
name: xc-host-fasls
path: clisp-host-fasls.tgz

ccl:

runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v1
- name: instal host ccl
run: |
wget -q https://github.com/sbcl/sbcl/releases/download/sbcl-1.4.14/ccl-host.tgz
tar xf ccl-host.tgz
sudo apt-get -qq update | true
sudo apt-get -qq install git-restore-mtime
- name: build
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: ./make.sh --xc-host='ccl-host/lx86cl64 --batch'
run: |
git restore-mtime
./make.sh --xc-host='ccl-host/lx86cl64 --batch'
- name: archive ccl-xc fasls
run: tar --transform 's,^,ccl-host/,' -cf ccl-host-fasls.tgz obj/from-xc/
- name: upload ccl-xc archive
uses: actions/upload-artifact@v3
with:
name: xc-host-fasls
path: ccl-host-fasls.tgz

cmucl:

runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v1
Expand All @@ -94,8 +103,68 @@ jobs:
cd cmucl
wget -q https://github.com/sbcl/sbcl/releases/download/sbcl-1.4.14/cmucl.tar.bz2
tar xf cmucl.tar.bz2
echo '(setf ext:*gc-verbose* nil)' > ~/.cmucl-init.lisp
sudo apt-get -qq update | true
sudo apt-get -qq install git-restore-mtime
working-directory: /tmp/
- name: build
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: ./make.sh --xc-host='/tmp/cmucl/bin/lisp -batch'
run: |
git restore-mtime
./make.sh --xc-host='/tmp/cmucl/bin/lisp -batch'
- name: archive cmucl-xc fasls
run: tar --transform 's,^,cmucl-host/,' -cf cmucl-host-fasls.tgz obj/from-xc/
- name: upload cmucl-xc archive
uses: actions/upload-artifact@v3
with:
name: xc-host-fasls
path: cmucl-host-fasls.tgz

sbcl:

runs-on: ubuntu-latest
timeout-minutes: 45

steps:
- uses: actions/checkout@v1
- name: instal host sbcl
run: |
sudo apt-get -qq update | true
sudo apt-get -qq install sbcl libcapstone-dev git-restore-mtime
- name: build
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: |
git restore-mtime
./make.sh --xc-host='sbcl --dynamic-space-size 600MB --lose-on-corruption --disable-ldb --disable-debugger'
- name: archive sbcl-xc fasls
run: tar --transform 's,^,sbcl-host/,' -cf sbcl-host-fasls.tgz obj/from-xc/
- name: upload sbcl-xc archive
uses: actions/upload-artifact@v3
with:
name: xc-host-fasls
path: sbcl-host-fasls.tgz

compare-xc-host-fasls:

runs-on: ubuntu-latest
timeout-minutes: 5
needs: [ccl, sbcl, cmucl, clisp]

steps:
- name: download xc-host fasls
uses: actions/download-artifact@v3
with:
name: xc-host-fasls
- name: extract xc-host fasls
run: |
tar xf ccl-host-fasls.tgz
tar xf sbcl-host-fasls.tgz
tar xf clisp-host-fasls.tgz
tar xf cmucl-host-fasls.tgz
- name: compare xc-host fasls
run: |
diff -ur sbcl-host/ ccl-host/
diff -ur sbcl-host/ clisp-host/ || true
diff -ur sbcl-host/ cmucl-host/ || true
48 changes: 45 additions & 3 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,16 @@ jobs:
build:

runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
matrix:
options: [--with-sb-thread, --without-sb-thread]
options: [--with-sb-thread, --without-sb-thread, --without-sb-unicode]
arch: [x86, x86-64]
subfeatures: ['']
include:
- { arch: x86-64, subfeatures: sse4, options: --with-sb-thread }
- { arch: x86-64, subfeatures: fasteval, options: --with-sb-fasteval --without-sb-eval }

fail-fast: false

steps:
Expand All @@ -21,11 +27,47 @@ jobs:
- name: instal host gcc-multilib
if: matrix.arch == 'x86'
run: sudo apt-get -qq --no-install-recommends install gcc-multilib

- name: backend-sub-features
if: matrix.subfeatures == 'sse4'
run: echo '(lambda (features) (list* :popcnt :sse4 features))' > customize-backend-subfeatures.lisp

- name: build
env:
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: ./make.sh ${{ matrix.options }} --xc-host='sbcl --dynamic-space-size 500MB --lose-on-corruption --disable-ldb --disable-debugger' --arch=${{ matrix.arch }}
run: ./make.sh ${{ matrix.options }} --xc-host='sbcl --dynamic-space-size 600MB --lose-on-corruption --disable-ldb --disable-debugger' --arch=${{ matrix.arch }}
- name: test
run: cd tests; ./run-tests.sh
- name: test
if: matrix.subfeatures == 'fasteval'
run: cd tests; ./run-tests.sh --evaluator-mode interpret
- name: ansi-test
run: cd tests; ./ansi-tests.sh

- name: crossbuild arm
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh arm
- name: crossbuild arm64
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh arm64
- name: crossbuild mips
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh mips
- name: crossbuild ppc
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh ppc
- name: crossbuild ppc64
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh ppc64
- name: crossbuild riscv
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh riscv
- name: crossbuild sparc
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh sparc
- name: crossbuild x86
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh x86
- name: crossbuild x86-64
if: matrix.subfeatures == 'sse4'
run: crossbuild-runner/build-all.sh x86-64
17 changes: 16 additions & 1 deletion .github/workflows/mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,22 @@ jobs:
- name: build
env:
SBCL_MAKE_TARGET_2_OPTIONS: --disable-ldb --disable-debugger
run: ./make.sh ${{ matrix.options }} --xc-host='sbcl --dynamic-space-size 500MB --lose-on-corruption --disable-ldb --disable-debugger'
run: ./make.sh ${{ matrix.options }} --xc-host='sbcl --dynamic-space-size 600MB --lose-on-corruption --disable-ldb --disable-debugger'
- name: make binary
run: |
name=sbcl-`cat version.lisp-expr | ./run-sbcl.sh --noinform --noprint --eval '(write-line (read))'`-darwin-x86-64
mkdir sbcl-mac-binary${{ matrix.options }};
cd ..
mv sbcl $name
./$name/binary-distribution.sh $name
bzip2 $name-binary.tar
mv $name sbcl
mv $name-binary.tar.bz2 sbcl/sbcl-mac-binary${{ matrix.options }}
- name: save binary
uses: actions/upload-artifact@v1
with:
name: sbcl-mac-binary${{ matrix.options }}
path: sbcl-mac-binary${{ matrix.options }}
- name: test
run: cd tests; ./run-tests.sh
- name: ansi-test
Expand Down
22 changes: 16 additions & 6 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,32 +7,42 @@ jobs:

runs-on: windows-latest

defaults:
run:
shell: msys2 {0}

steps:
- uses: actions/checkout@v1
- uses: msys2/setup-msys2@v2
with:
install: mingw-w64-x86_64-gcc make diffutils git

- name: install host sbcl
shell: pwsh
run: |
cinst sbcl -source tools-for-build
echo "::add-path::/c/Program Files/Steel Bank Common Lisp/1.4.14"
- name: build
env:
SBCL_HOME: "/c/Program Files/Steel Bank Common Lisp/1.4.14"
run: |
bash ./make.sh --xc-host='sbcl --dynamic-space-size 500MB --lose-on-corruption --disable-ldb --disable-debugger'
PATH=$PATH:"/c/Program Files/Steel Bank Common Lisp/1.4.14"
export PATH
./make.sh --xc-host='sbcl --lose-on-corruption --disable-ldb --disable-debugger'
- name: make installer
run: |
bash ./make-windows-installer.sh
bash -c "mkdir sbcl-windows-installer; mv output/*msi sbcl-windows-installer"
./make-windows-installer.sh
mkdir sbcl-windows-installer; mv output/*msi sbcl-windows-installer
- name: save installer
uses: actions/upload-artifact@v1
with:
name: sbcl-windows-installer
path: sbcl-windows-installer
- name: tests
working-directory: tests
run: bash ./run-tests.sh
run: ./run-tests.sh
- name: ansi-tests
working-directory: tests
run: bash ./ansi-tests.sh
run: ./ansi-tests.sh



8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
*.d
*.dSYM
*.o
*.so
*.a
*.fasl
*.FASL
Expand All @@ -22,31 +23,30 @@ src/compiler/target
src/runtime/Config
src/runtime/TAGS
src/runtime/genesis
src/runtime/linkage-table-prelink-info.c
src/runtime/openbsd-sigcontext.h
src/runtime/sbcl
src/runtime/sbcl.exe
src/runtime/sbcl.h
src/runtime/sbcl.mk
src/runtime/sbcl.nm
src/runtime/shrinkwrap-sbcl*
src/runtime/target-arch-os.h
src/runtime/target-arch.h
src/runtime/target-lispregs.h
src/runtime/target-os.h
src/runtime/ppc-linux-mcontext.h
src/runtime/sparc-funcdef.h
tests/test-status.lisp-expr
tests/test.log
tests/*.so
tests/run-tests-*
tests/last-random-state.lisp-expr
tests/ansi-test/
tools-for-build/avx2*
tools-for-build/determine-endianness
tools-for-build/determine-endianness.exe
tools-for-build/grovel-headers
tools-for-build/grovel-headers.exe
tools-for-build/mmap-rwx
tools-for-build/os-provides-putwc-test
tools-for-build/os-provides-putwc-test.exe
tools-for-build/where-is-mcontext
contrib/*/test-passed
contrib/*/test-output
Expand Down
5 changes: 1 addition & 4 deletions HACKING
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ Modifying
To change the code at run-time the :SB-DEVEL feature is almost always
necessary, otherwise a lot of macros, functions, and variables do not
survive in the final image.
"./make-target-2.sh --load-with-sb-devel" can resave the core with
sb-devel without recompiling the whole thing, but probably a better
idea is to put it into customize-target-features.lisp.

Patch Submissions
=================
Expand Down Expand Up @@ -58,7 +55,7 @@ Patches requiring more widespread discussion and feedback should be
sent to the sbcl-devel mailing list.

If you have any questions, feel free to ask them on sbcl-devel,
or the IRC channel #sbcl@freenode.net.
or the IRC channel #sbcl@irc.libera.chat.

Coding Style
============
Expand Down
Loading