Link joltc with -rdynamic so build can spill its boots on Linux
The self-contained build reads the bundled Chez petite/scheme boots from the joltc binary via foreign-entry on the embedded jolt_* symbols. On Linux dlsym can't see an executable's symbols unless they're in the dynamic symbol table, so 'build' died with 'foreign-entry: no entry for jolt_petite_boot_len'. -rdynamic exports them (macOS already resolves them). The new release self-contained-build smoke caught this on the Linux runner.
This commit is contained in:
parent
db08ecc1bc
commit
802fb29b07
1 changed files with 4 additions and 1 deletions
|
|
@ -241,7 +241,10 @@
|
|||
" Sscheme_deinit();\n return status;\n}\n"))
|
||||
(close-port mc))
|
||||
|
||||
;; -rdynamic puts the embedded jolt_* boot/stub symbols in the dynamic symbol
|
||||
;; table so `build` can foreign-entry them to spill the bundled Chez boots. On
|
||||
;; Linux dlsym can't see executable symbols otherwise (macOS exports them anyway).
|
||||
(bld-system (string-append
|
||||
"cc -O2 -I'" bld-csv-dir "' -I'" jb-build "' '" jb-main-c "' '"
|
||||
"cc -O2 -rdynamic -I'" bld-csv-dir "' -I'" jb-build "' '" jb-main-c "' '"
|
||||
bld-csv-dir "/libkernel.a' -o '" jb-out "' " (bld-link-libs)))
|
||||
(display (string-append "build-joltc: wrote " jb-out "\n"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue