Unify extern-alien-name for darwin x86 and ppc.
Initial attempt to unify extern-alien-name, primarily for darwin (x86 and ppc). Thus, systems using elf do not prepend an underscore, but other systems are assumed to prepend an underscore. This is currently only for darwin/x86. A cross-compile on darwin x86 is needed. * code/x86-vm.lisp: * For elf systems, don't prepend an underscore. For other systems, do prepend. * compiler/generic/new-genesis.lisp: * Fix long-standing bug where we should call EXTERN-ALIEN-NAME to get the right name for "resolve_linkage_tramp". * lisp/Darwin-os.c: * Update os_dlsym to assume the external name is always preceded by an underscore. The lookup for dlysm is done by stripping off the leading underscore. * lisp/os-common.c: * Add EXTERN_ALIEN_NAME macro to create the correct alien name for elf and non-elf systems. * Use it to generate the correct name to be used for comparison in the sanity checks of the linkage table entries.
Showing
- src/code/x86-vm.lisp 3 additions, 0 deletionssrc/code/x86-vm.lisp
- src/compiler/generic/new-genesis.lisp 1 addition, 1 deletionsrc/compiler/generic/new-genesis.lisp
- src/lisp/Darwin-os.c 13 additions, 11 deletionssrc/lisp/Darwin-os.c
- src/lisp/os-common.c 21 additions, 10 deletionssrc/lisp/os-common.c
- src/tools/cross-scripts/cross-x86-x86.lisp 3 additions, 0 deletionssrc/tools/cross-scripts/cross-x86-x86.lisp
Loading
Please register or sign in to comment