Index: src/runtime/lookup-asm/lookup-asm.S ================================================================== --- src/runtime/lookup-asm/lookup-asm.S +++ src/runtime/lookup-asm/lookup-asm.S @@ -24,13 +24,13 @@ # include "lookup-asm-x86-elf.S" # elif defined(OF_ARM64) # include "lookup-asm-arm64-elf.S" # elif defined(OF_ARM) # include "lookup-asm-arm-elf.S" -# elif defined(OF_POWERPC64) +# elif defined(OF_POWERPC64) && (!defined(_CALL_ELF) || _CALL_ELF == 1) # include "lookup-asm-powerpc64-elf.S" -# elif defined(OF_POWERPC) +# elif defined(OF_POWERPC) && (!defined(_CALL_ELF) || _CALL_ELF == 1) # include "lookup-asm-powerpc-elf.S" # elif defined(OF_MIPS64_N64) # include "lookup-asm-mips64-n64-elf.S" # elif defined(OF_MIPS) # include "lookup-asm-mips-elf.S" Index: src/runtime/private.h ================================================================== --- src/runtime/private.h +++ src/runtime/private.h @@ -357,15 +357,19 @@ objc_error("ObjFWRT @ " __FILE__ ":" OF_STRINGIFY(__LINE__), \ __VA_ARGS__) #if defined(OF_ELF) # if defined(OF_X86_64) || defined(OF_X86) || \ - defined(OF_POWERPC64) || defined(OF_POWERPC) || \ defined(OF_ARM64) || defined(OF_ARM) || \ defined(OF_MIPS64_N64) || defined(OF_MIPS) || \ defined(OF_SPARC64) || defined(OF_SPARC) # define OF_ASM_LOOKUP +# endif +# if defined(OF_POWERPC64) || defined(OF_POWERPC) +# if !defined(_CALL_ELF) || _CALL_ELF == 1 +# define OF_ASM_LOOKUP +# endif # endif #elif defined(OF_MACH_O) # if defined(OF_X86_64) # define OF_ASM_LOOKUP # endif