moonjit 2.1.2 build failed for ppc64 (BE) on openSUSE
michelmno opened this issue · comments
moonjit 2.1.2 build failed for ppc64 (BE) on openSUSE
as per https://build.opensuse.org/package/live_build_log/openSUSE:Factory:PowerPC/moonjit/standard/ppc64
extract from attached log file:
[ 39s] gcc -O2 -fomit-frame-pointer -Wall -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -U_FORTIFY_SOURCE -DLUA_ROOT=\"/usr\" -DLUA_MULTILIB=\"lib64\" -fno-stack-protector -c -o lj_clib.o lj_clib.c
[ 39s] lj_ccallback.c: In function 'lj_ccallback_new':
[ 39s] lj_ccallback.c:854:1: error: unable to generate reloads for:
[ 39s] 854 | }
[ 39s] | ^
[ 39s] (insn 360 11 381 34 (set (reg/f:DI 200 [ _141 ])
[ 39s] (unspec:DI [
[ 39s] (symbol_ref:DI ("lj_vm_ffi_callback") [flags 0x43] <function_decl 0x7fff9c088500 lj_vm_ffi_callback>)
[ 39s] (reg/f:DI 205 [ vm_toc.18_148 ])
[ 39s] ] UNSPEC_TOCREL)) 717 {*tocrefdi}
[ 39s] (expr_list:REG_EQUIV (symbol_ref:DI ("lj_vm_ffi_callback") [flags 0x43] <function_decl 0x7fff9c088500 lj_vm_ffi_callback>)
[ 39s] (nil)))
[ 39s] during RTL pass: reload
[ 39s] lj_ccallback.c:854:1: internal compiler error: in curr_insn_transform, at lra-constraints.c:3962
That is a gcc bug and I think I've seen it before but can't remember the bz and remember concluding that it has been fixed upstream.
A blind google search brings this up this bz, which may or may not be this issue.
Closing since this is not a moonjit bug.
I've reduced that and reported to GCC bugzilla:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94420
Thanks for digging into this @marxin !