Per Borgentun wrote:
> I also tried kaffe 1.0.5 ( I got it to compile after setting
> --host=arm-linux --target=arm-linux on my pentium machine)
> but it says:
> BUG IN DYNAMIC LINKER ld.so: ../sysdeps/arm/dl-machine.h: 450:
> elf_machine_rel: Assertion `! "unexpected dynamic reloc type"' failed!
> when I try to run my HelloWorld progam.
Now that I know what to look for, it was easy to find. The code for the .so
was actually already compiled with -fPIC, but in config/arm/trampolines.c,
there is some inline assembly. Two versions, actually, one for shared
library, one not. But the conditional had been hardcoded for not shared
library. I just took out the 0, and left in the defined().
-Jamey
#if defined(NO_SHARED_VMLIBRARY)
asm(
START_ASM_FUNC() C_FUNC_NAME(arm_do_fixup_trampoline) "\n"
C_FUNC_NAME(arm_do_fixup_trampoline) ": \n
stmdb sp!,{r0,r1,r2,r3,lr}\n
mov r0,ip\n
bl " C_FUNC_NAME(soft_fixup_trampoline) " \n
mov ip, r0\n
ldmia sp!,{r0,r1,r2,r3,lr}\n
mov pc, ip\n
"
END_ASM_FUNC()
);
#else
asm(
START_ASM_FUNC() C_FUNC_NAME(arm_do_fixup_trampoline) "\n"
C_FUNC_NAME(arm_do_fixup_trampoline) ": \n
stmdb sp!,{r0,r1,r2,r3,lr}\n
mov r0,ip\n
bl " C_FUNC_NAME(soft_fixup_trampoline) " (PLT) \n
mov ip, r0\n
ldmia sp!,{r0,r1,r2,r3,lr}\n
mov pc, ip\n
"
END_ASM_FUNC()
);
#endif
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++ Please use [EMAIL PROTECTED] for ++
++ kernel-related discussions. ++