Extend use of the linkage table to static symbols
- Formerly static symbols are static no more:
- Always use the linkage table, even in cross compilation. The
runtime retrieves the resulting list of foreign symbols and installs
linkage table entries before calling into Lisp for the first time.
- Simplify/remove various win32 foreign symbol special cases.
- Almost remove scratch().
Conditional on feature SB-DYNAMIC-CORE; required on Windows and optional
on other platforms supporting the linkage table.
With this feature, changes to src/runtime can be built using make,
without requiring a slam.sh step to update core files.
For LINKAGE-TABLE platforms only. Currently supported on x86 and
x86-64. (PowerPC does not yet work.) In the interest of simplicity,
disable this feature permanently on non-SB-THREAD platforms, because
these would require unpleasant changes to allocation macros.
Thanks to Anton Kovalenko.
26 files changed: