Peggy Harvey via gcc-help kirjoitti 1.7.2019 klo 18.19:
I have some legacy HW that is running a vxWorks 5.5 which requires a
Sun station to compile source code. I'm trying to build a Linux cross
compiler so we can eliminate this dependency. I have worked through
many errors and I'm at a point where I think I'm just not defining a
variable that is required. I'm hoping someone can point me in the
right direction.
I'm working with gcc-4.0.0 and this is what I'm trying:
../configure --enable-languages=c --target=powerpc-vxworks-eabi
--with-cpu=8540 --prefix=/opt/vxworks/linux
--exec-prefix=/opt/vxworks/linux --with-headers=/u1/wind/vw5.5/target/h
I think this target name will be interpreted as 'powerpc-*-eabi'. The
config template in gcc-4.0.0 sources (gcc/config.gcc) is :
powerpc-wrs-vxworks*)
# We want vxworks.h after rs6000/sysv4.h, which unfortunately
# means we have to redo the tm_file list from scratch.
tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
tm_file="${tm_file} vxworks.h rs6000/vxworks.h"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm
rs6000/t-vxworks"
extra_headers=ppc-asm.h
;;
This is the error I'm getting:
/opt/vxworks/linux/powerpc-vxworks-eabi/sys-include/types/vxCpu.h:361:2:
error: #error CPU is not defined correctly
The VxWorks header probably has a quite limited list for possible CPU
types. Just like the 'gcc-4.0.0/gcc/config/rs6000/vxworks.h' :
#define CC1_SPEC \
"%{t403: -mcpu=403 -mstrict-align ; \
t405: -mcpu=405 -mstrict-align ; \
t440: -mcpu=440 -mstrict-align ; \
t603: -mcpu=603 -mstrict-align ; \
t604: -mcpu=604 -mstrict-align ; \
t860: -mcpu=860 ; \
: -mcpu=604 -mstrict-align } \
Maybe newer GCC versions would have a better support for 8540...