Commit graph

17 commits

Author SHA1 Message Date
Douglas Katzman c664466634 Allow specifying path to ucd data for make-target-2 2024-01-17 17:36:51 -05:00
Douglas Katzman 2321118f6a Remove --touch
It's still desirable to compensate for clock skew, but fewer OSes accept
the option on 'tar' than I'd hoped, so I end up deleting it nearly always.
2023-11-25 09:37:21 -05:00
Douglas Katzman 7612430dce Run generate-version in cross-make 2023-01-21 01:03:28 -05:00
Douglas Katzman 08146ffc5c Add note to self 2022-03-08 12:53:10 -05:00
Douglas Katzman c6049bdd1b Improve cross-make 2022-03-03 08:22:14 -05:00
Douglas Katzman 6a9cc406c9 Remove accidental change to cross-make.sh 2022-01-12 20:12:31 -05:00
Douglas Katzman 6788bfb3f1 Fix all the builds- assign widetags based on word size
There are comments saying that the high 2 bits of code-header-widetag
must be zero.  I didn't want to figure out whether that's still
a requirement. So pick widetags that make it true.
2022-01-12 20:08:41 -05:00
Douglas Katzman 9bdd5582ec Update cross-make to target sunos
sbcl.nm isn't generated, and "tar ... -C" doesn't work - it has some effect
but not the desired one.
2020-03-18 17:44:06 -04:00
Douglas Katzman bbb6ac4ad0 Cease generating ldso-stubs except as needed
And stop copying it in the build scripts, ignoring it in .gitignore,
and removing it in clean.sh
2020-03-06 16:32:46 -05:00
Douglas Katzman adca90e756 Cause make-config to run successfully by default
i.e. do not fail if the host lisp isn't found, barring any other failures.

Intuitively the check for a host lisp belongs in 'make.sh', but the rationale
for putting it in make-config is that failing sooner makes sense if the build
can't begin. But it was an incorrect behavior for make-config when run at the
shell prompt while trying to diagnose problems in that script.
2020-02-17 22:03:46 -05:00
Douglas Katzman 7186b2218e Unbreak cross-make 2020-01-13 16:50:35 -05:00
Douglas Katzman 78d040b3d3 Add :sb-futex for ppc64 on linux 2020-01-13 16:35:28 -05:00
Douglas Katzman 8280d0875d Disallow setting slots of purified code
I noticed this when fixing the recently discovered bug in pscav_later -
users could too easily create pointers from read-only space to dynamic space
which would have crashed at some later time. The only slot that could be
portably set is the docstring, via (setf (documentation #'fun t) "something"),
for which a full warning seem appropriate since that's less harmful than
heap corruption.  This is a long-standing issue having nothing to do with
the recent alterations to simple-fun headers.
2019-05-30 15:44:16 -04:00
Douglas Katzman ae5863a816 Add building of two contribs into cross-make.sh 2018-12-11 13:42:26 -05:00
Douglas Katzman 75828dee01 Add GC support for lockfree singly-linked lists
Based on paper by Tim Harris @ https://timharris.uk/papers/2001-disc.pdf.
The algorithm depends on arbitrarily manipulation of 1 bit of a pointer
which we can do by relaxing the tagging requirement for pointers from a
node to its successor. For technical reasons, our representation differs
from that in the reference paper - for us, the lowtag bits of a successor
pointer are either all correct (INSTANCE_POINTER_LOWTAG), or all 0.

The code has been lightly exercised on arm64, ppc, x86, and x86-64.
I'm still deciding on the interface that we want to expose,
and where such lists can be used internally.
2018-11-18 22:10:13 -05:00
Douglas Katzman 4f0bc20752 Add some flexibility to cross-make 2018-05-17 12:03:37 -04:00
Douglas Katzman fa0c63416e Add handy dandy script 2018-04-29 13:07:17 -04:00