powerpc bss plt is not compatible with mulsc
BKPepe opened this issue · comments
I have been able to compile Moonjit 2.1.2 and 2.2.0 for powerpc with soft-float (CPU Freescale P2020), but I received segfault with both versions. It seems to me like this issue, which is created at LuaJIT#481 as during compiling of Moonjit, I have the same message:
DYNLINK libluajit.so
../powerpc-openwrt-linux-musl/bin/ld: bss-plt forced due to lj_vm_dyn.o
LINK luajit
../powerpc-openwrt-linux-musl/bin/ld: bss-plt forced due to libluajit.a(lj_vm.o)
I tried to apply pull request LuaJIT#486, but I am not able to compile it due to following errors:
vm_ppc.dasc: In function 'build_subroutines':
vm_ppc.dasc:587:45: error: 'LJ_GOT___ledf2' undeclared (first use in this function)
#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
^
vm_ppc.dasc:2547:23: note: in expansion of macro 'DISPATCH_GOT'
| math_minmax math_max, 1
^~~~~~
vm_ppc.dasc:587:45: note: each undeclared identifier is reported only once for each function it appears in
#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
^
vm_ppc.dasc:2547:23: note: in expansion of macro 'DISPATCH_GOT'
| math_minmax math_max, 1
^~~~~~
vm_ppc.dasc: In function 'build_ins':
vm_ppc.dasc:587:45: error: 'LJ_GOT___ledf2' undeclared (first use in this function)
#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
^
vm_ppc.dasc:3729:25: note: in expansion of macro 'DISPATCH_GOT'
if (op == BC_ISLT) {
^
vm_ppc.dasc:587:45: error: 'LJ_GOT___adddf3' undeclared (first use in this function)
#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
^
vm_ppc.dasc:4515:25: note: in expansion of macro 'DISPATCH_GOT'
break;
^
vm_ppc.dasc:587:45: error: 'LJ_GOT___subdf3' undeclared (first use in this function)
#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
^
vm_ppc.dasc:4529:25: note: in expansion of macro 'DISPATCH_GOT'
break;
^
vm_ppc.dasc:587:45: error: 'LJ_GOT___muldf3' undeclared (first use in this function)
#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
^
vm_ppc.dasc:4569:25: note: in expansion of macro 'DISPATCH_GOT'
|.endif
^
vm_ppc.dasc:587:45: error: 'LJ_GOT___divdf3' undeclared (first use in this function)
#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
^
vm_ppc.dasc:4548:25: note: in expansion of macro 'DISPATCH_GOT'
| lwzx CARG3, BASE_HI, RC
^~~~~~
@seth-priya May I ask you if it will be possible to look at it?
Looks like you need to add __divdf3, __muldf3, etc in the GOTDEF definition in the LuaJIT#486 patch.