Export joltc.exe symbols so foreign-entry finds the embedded bundles
The -e path worked but jolt build died: jolt_petite_boot_len wasn't foreign-entry-visible. -rdynamic's Windows equivalent for an exe is an export table; -Wl,--export-all-symbols provides one.
This commit is contained in:
parent
af12f77dcd
commit
dbc4298c0a
1 changed files with 3 additions and 1 deletions
|
|
@ -245,6 +245,8 @@
|
||||||
;; table so `build` can foreign-entry them to spill the bundled Chez boots. On
|
;; 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).
|
;; Linux dlsym can't see executable symbols otherwise (macOS exports them anyway).
|
||||||
(bld-system (string-append
|
(bld-system (string-append
|
||||||
"cc -O2 " (if bld-nt? "" "-rdynamic ") "-I'" bld-csv-dir "' -I'" jb-build "' '" jb-main-c "' '"
|
;; the embedded jolt_* arrays must be foreign-entry-visible at runtime:
|
||||||
|
;; -rdynamic on ELF; on Windows an exe needs an export table (GetProcAddress).
|
||||||
|
"cc -O2 " (if bld-nt? "-Wl,--export-all-symbols " "-rdynamic ") "-I'" bld-csv-dir "' -I'" jb-build "' '" jb-main-c "' '"
|
||||||
bld-csv-dir "/libkernel.a' -o '" jb-out "' " (bld-link-libs)))
|
bld-csv-dir "/libkernel.a' -o '" jb-out "' " (bld-link-libs)))
|
||||||
(display (string-append "build-joltc: wrote " jb-out "\n"))
|
(display (string-append "build-joltc: wrote " jb-out "\n"))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue