@midwan
RPi 1 builds for SDL2 both fail rpi1-sdl2 rpi1-sdl2-dispmanx
Log file contents:
#define CC_MVN_ri(cc,Rd,i) _OP1(cc,_MVN,0,Rd,SHIFT_IMM(i))
^~~~~~~~~
src/jit/compemu_midfunc_arm2.cpp:4986:2: note: in expansion of macro ‘CC_MVN_ri’
CC_MVN_ri(NATIVE_CC_NE, REG_WORK2, ARM_Z_FLAG);
^~~~~~~~~
src/jit/codegen_arm.h:71:76: warning: result of ‘(536870912 << 4)’ requires 35 bits to represent, but ‘int’ only has 32 bits [-Wshift-overflow=]
(c & 0x0ffffff0) == 0 ? (0x200 | ((c >> 28) & 0xf) | ((c << 4) & 0xf0)) : \
^
src/jit/codegen_arm.h:62:25: note: in definition of macro ‘_W’
#define _W(c) emit_long(c)
^
src/jit/codegen_arm.h:489:42: note: in expansion of macro ‘_OP3’
#define CC_EOR_rri(cc,Rd,Rn,i) _OP3(cc,_EOR,0,Rd,Rn,SHIFT_IMM(i))
^~~~
src/jit/codegen_arm.h:105:37: note: in expansion of macro ‘IMM32’
#define SHIFT_IMM(c) (0x02000000 | (IMM32((c))))
^~~~~
src/jit/codegen_arm.h:489:63: note: in expansion of macro ‘SHIFT_IMM’
#define CC_EOR_rri(cc,Rd,Rn,i) _OP3(cc,_EOR,0,Rd,Rn,SHIFT_IMM(i))
^~~~~~~~~
src/jit/codegen_arm.h:501:42: note: in expansion of macro ‘CC_EOR_rri’
#define EOR_rri(Rd,Rn,i) CC_EOR_rri(NATIVE_CC_AL,Rd,Rn,i)
^~~~~~~~~~
src/jit/compemu_midfunc_arm2.cpp:4990:2: note: in expansion of macro ‘EOR_rri’
EOR_rri(REG_WORK1, REG_WORK1, ARM_C_FLAG);
^~~~~~~
src/jit/codegen_arm.h:71:76: warning: result of ‘(536870912 << 4)’ requires 35 bits to represent, but ‘int’ only has 32 bits [-Wshift-overflow=]
(c & 0x0ffffff0) == 0 ? (0x200 | ((c >> 28) & 0xf) | ((c << 4) & 0xf0)) : \
^
src/jit/codegen_arm.h:62:25: note: in definition of macro ‘_W’
#define _W(c) emit_long(c)
^
src/jit/codegen_arm.h:489:42: note: in expansion of macro ‘_OP3’
#define CC_EOR_rri(cc,Rd,Rn,i) _OP3(cc,_EOR,0,Rd,Rn,SHIFT_IMM(i))
^~~~
src/jit/codegen_arm.h:105:37: note: in expansion of macro ‘IMM32’
#define SHIFT_IMM(c) (0x02000000 | (IMM32((c))))
^~~~~
src/jit/codegen_arm.h:489:63: note: in expansion of macro ‘SHIFT_IMM’
#define CC_EOR_rri(cc,Rd,Rn,i) _OP3(cc,_EOR,0,Rd,Rn,SHIFT_IMM(i))
^~~~~~~~~
src/jit/codegen_arm.h:501:42: note: in expansion of macro ‘CC_EOR_rri’
#define EOR_rri(Rd,Rn,i) CC_EOR_rri(NATIVE_CC_AL,Rd,Rn,i)
^~~~~~~~~~
src/jit/compemu_midfunc_arm2.cpp:4996:2: note: in expansion of macro ‘EOR_rri’
EOR_rri(REG_WORK1, REG_WORK1, ARM_C_FLAG);
^~~~~~~
Makefile:409: recipe for target 'src/jit/compemu_support.o' failed
make: *** [src/jit/compemu_support.o] Error 1
make: *** Waiting for unfinished jobs....
@Fourdee
Thanks, I'll take a look at it
It's not for SDL2 only, it affects all RPI1 versions. However, it may be related to GCC 6.3 as it did build in GCC 4.9 (on Jessie).
I'll check what it's complaining about.
Nope, not related to the compiler.
It's related to the recent JIT FPU fixes, some functions cannot be resolved on the RPI1.
Actual errors:
In file included from src/jit/compemu_support.cpp:807:0:
src/jit/codegen_arm.cpp: In function ‘void compemu_raw_handle_except(uae_s32)’:
src/jit/codegen_arm.cpp:952:49: error: ‘MOVW_ri16’ was not declared in this scope
MOVW_ri16(REG_WORK2, (uae_u32)(&jit_exception));
^
src/jit/codegen_arm.cpp:953:57: error: ‘MOVT_ri16’ was not declared in this scope
MOVT_ri16(REG_WORK2, ((uae_u32)(&jit_exception)) >> 16);
^
In file included from src/jit/compemu_support.cpp:1487:0:
src/jit/compemu_midfunc_arm2.cpp: In function ‘void jnf_DIVU(uae_u32, uae_u32, uae_u32)’:
src/jit/compemu_midfunc_arm2.cpp:1867:49: error: ‘MOVW_ri16’ was not declared in this scope
MOVW_ri16(REG_WORK2, (uae_u32)(&jit_exception));
^
src/jit/compemu_midfunc_arm2.cpp:1868:57: error: ‘MOVT_ri16’ was not declared in this scope
MOVT_ri16(REG_WORK2, ((uae_u32)(&jit_exception)) >> 16);
^
src/jit/compemu_midfunc_arm2.cpp: In function ‘void jff_DIVU(uae_u32, uae_u32, uae_u32)’:
src/jit/compemu_midfunc_arm2.cpp:1912:49: error: ‘MOVW_ri16’ was not declared in this scope
MOVW_ri16(REG_WORK2, (uae_u32)(&jit_exception));
^
src/jit/compemu_midfunc_arm2.cpp:1913:57: error: ‘MOVT_ri16’ was not declared in this scope
MOVT_ri16(REG_WORK2, ((uae_u32)(&jit_exception)) >> 16);
^
src/jit/compemu_midfunc_arm2.cpp: In function ‘void jnf_DIVS(uae_u32, uae_u32, uae_u32)’:
src/jit/compemu_midfunc_arm2.cpp:1976:49: error: ‘MOVW_ri16’ was not declared in this scope
MOVW_ri16(REG_WORK2, (uae_u32)(&jit_exception));
^
src/jit/compemu_midfunc_arm2.cpp:1977:57: error: ‘MOVT_ri16’ was not declared in this scope
MOVT_ri16(REG_WORK2, ((uae_u32)(&jit_exception)) >> 16);
^
src/jit/compemu_midfunc_arm2.cpp: In function ‘void jff_DIVS(uae_u32, uae_u32, uae_u32)’:
src/jit/compemu_midfunc_arm2.cpp:2031:49: error: ‘MOVW_ri16’ was not declared in this scope
MOVW_ri16(REG_WORK2, (uae_u32)(&jit_exception));
^
src/jit/compemu_midfunc_arm2.cpp:2032:57: error: ‘MOVT_ri16’ was not declared in this scope
MOVT_ri16(REG_WORK2, ((uae_u32)(&jit_exception)) >> 16);
^
Makefile:398: recipe for target 'src/jit/compemu_support.o' failed
make: *** [src/jit/compemu_support.o] Error 1