Skip to content

Bump cffi for the :default library lookup fix#1795

Open
dg1sbg wants to merge 1 commit into
clasp-developers:mainfrom
dg1sbg:bump/cffi-default-lib
Open

Bump cffi for the :default library lookup fix#1795
dg1sbg wants to merge 1 commit into
clasp-developers:mainfrom
dg1sbg:bump/cffi-default-lib

Conversation

@dg1sbg

@dg1sbg dg1sbg commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #1792 (the foreign-alloc lifetime fix, now merged).

Bumps the :cffi pin in repos.sexp to upstream cffi master 8e2928ee, which is the merge of cffi/cffi#432.

That commit maps CFFI's :default library marker to :rtld-default in the Clasp backend. Without it, cffi:foreign-symbol-pointer called without an explicit :library always returns NIL on Clasp (clasp-ffi:%dlsym only understands :rtld-default/:rtld-next and treats :default as a library handle). cffi-libffi's type-descriptor-ptr depends on this lookup, so together with #1792 this gives cando builds working struct-by-value support.

Verified on macOS arm64 (boehmprecise): full regression suite 1963 pass / 4 fail (all four known-preexisting), plus the cffi-fsbv stress test (300k mixed struct-by-value calls, no crash).

CFFI passes :default as the library marker for the default/global
namespace, but clasp-ffi:%dlsym only understands :rtld-default and
:rtld-next, so cffi:foreign-symbol-pointer without :library always
returned NIL on Clasp. cffi/cffi#432 (upstream 8e2928ee) maps
:default to :rtld-default in the Clasp backend. Pull it in so cando
builds get working struct-by-value support together with the
foreign-alloc lifetime fix in this branch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant