Age | Commit message (Collapse) | Author |
|
and reduce the probability of macro name collisions
Catalyst: ppc macro "r0" conflicting with local variable in external.c
|
|
Position-independent code is mandatory on OS X. We use r11 as an intermediate
register to fill BIF_P->hipe.bif_callee. This fixes the following error when
doing `make debug FLAVOR=smp`:
clang -cc1as: fatal error: error in backend: 32-bit absolute addressing is not supported in 64-bit mode
|
|
|
|
Previously done for ppc in c469d8ce14e9544a297d9af48c9da43137122d9a
|
|
|
|
Add hipe_debug_bif_wrapper() as a wrapper for every BIF
called by native code.
|
|
|
|
x86 and amd64: Push BIF__ARGS array on C-stack.
ppc, sparc and arm: Write BIF__ARGS array to P->def_arg_reg[]
Just the simplest solution with limited assembler knowledge,
probably room for improvements.
|
|
No semantic change.
Just easier to debug when jumps are spelled out
and not obscured by yet another layer of macros.
|
|
|
|
* gc/hipe_darwin_amd64:
Fix hipe memory allocation problems on darwin/amd64
Porting x86 darwin fixes to amd64 darwin hipe asm/m4 code
Automatically enable hipe for darwin/amd64 builds
Allow configure to enable_hipe for darwin/amd64 builds
OTP-8416 HiPE now works in the 64-bit emulator on Mac OS X. (Thanks to
Geoff Cant.)
|
|
Compared to GNU as, Mac OS X's assembler uses different directives for
text and global sections, and omits type and size directives
entirely. We also need to mangle symbol names in order to allow
linking with C object files.
|
|
|