master: Detection redefs in genesis for #+linkage-space
snuglas via Sbcl-commits <[email protected]> Tue, 28 Jul 2026 14:43:02 +0000
| Newsgroups | gmane.lisp.steel-bank.cvs |
|---|---|
| Message-ID | <[email protected]> |
The branch "master" has been updated in SBCL:
via 10d014d56bbb626b3bfcfcc443d54ae0c3f3823b (commit)
from 10cab6fb1c5e5764d84d54b1b9e852691c325622 (commit)
- Log -----------------------------------------------------------------
commit 10d014d56bbb626b3bfcfcc443d54ae0c3f3823b
Author: Douglas Katzman <[email protected]>
Date: Tue Jul 28 14:42:18 2026 +0000
Detection redefs in genesis for #+linkage-space
And there's no reason to allow continuing, as the error indicates
with near certainly that cold-init will fail on your screw up.
---
src/compiler/generic/genesis.lisp | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp
index 107477ec9..d065d8afb 100644
--- a/src/compiler/generic/genesis.lisp
+++ b/src/compiler/generic/genesis.lisp
@@ -2236,9 +2236,8 @@ core and return a descriptor to it."
(if (symbolp name) (cold-intern name) name))))
(let ((existing (read-wordindexed fdefn sb-vm:fdefn-fun-slot)))
(unless (or (cold-null existing) (descriptor= existing function))
- (cerror "Overwrite" "Function multiply defined: ~S. Was ~x is ~x" name
- (descriptor-bits existing)
- (descriptor-bits function))))
+ (error "Function multiply defined: ~S. Was ~x is ~x" name
+ (descriptor-bits existing) (descriptor-bits function))))
(write-wordindexed fdefn sb-vm:fdefn-fun-slot function)
(write-wordindexed/raw
fdefn sb-vm:fdefn-raw-addr-slot
@@ -2250,6 +2249,10 @@ core and return a descriptor to it."
fdefn)
#+linkage-space
(let ((fname (if (symbolp name) (cold-intern name) (ensure-cold-fdefn name))))
+ (let ((existing (read-bits-wordindexed fname sb-vm:fdefn-fun-slot)))
+ (unless (or (zerop existing) (= existing (descriptor-bits function)))
+ (error "Function multiply defined: ~S. Was ~x is ~x" name
+ existing (descriptor-bits function))))
(write-wordindexed fname sb-vm:fdefn-fun-slot function)
fname))
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL