Building gcc 9.95.2 toolchain to run vxWorks on a PowerPC
Lovett, Stuart
Stuart.Lovett@marconi.com
Tue Aug 22 06:10:00 GMT 2000
Thanks Dave,
I am building for a sparc-sun-solaris2.6 host.
The problems start with bintools. I have setup the following directory
tree:
compilers
`- binutils
| `-binutils-2.9.1.0.25 - binutils toplevel source directory -
binutils configure script should reside here
`- gcc
| `-gcc-2.95.2 - gcc toplevel source directory - gcc
configure script should reside here
`- ppc-binutils-build - binutils toplevel build directory
`- ppc-gcc-build - gcc toplevel build directory
`- install_new - binutils and gcc toplevel installation
dir.
>From the ppc-binutils-build directory I issue the command:
../binutils/binutils-2.9.1.0.25/configure --target=powerpc-wrs-vxworks
--prefix=/us/slovett/compilers/install_new
--with-includes=/us/vxdist/5.4/target/h -v
and after a while I get the following:
checking for string.h... yes
checking for strings.h... yes
checking for stdlib.h... yes
*** BFD does not support target powerpc-wrs-vxworks.
*** Look in bfd/config.bfd for supported targets.
Configure in /us/slovett/compilers/ppc-binutils-build/opcodes failed,
exiting.
As instructed I looked in binutils/binutils-2.9.1.0.25/bfd/config.bfd and
found the following entries for powerpc:
powerpc-*-aix* | powerpc-*-beos*)
targ_defvec=rs6000coff_vec
;;
powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems*)
targ_defvec=bfd_elf32_powerpc_vec
targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec
bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec
bfd_powerpc_pe_vec ppcboot_vec"
;;
powerpc-*-macos* | powerpc-*-mpw*)
targ_defvec=pmac_xcoff_vec
;;
powerpc-*-netware*)
targ_defvec=bfd_elf32_powerpc_vec
targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
;;
powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
powerpcle-*-solaris2* | powerpcle-*-linux-gnu*)
targ_defvec=bfd_elf32_powerpcle_vec
targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_powerpcle_pei_vec
bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec ppcboot_vec"
;;
powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin32*)
targ_defvec=bfd_powerpcle_pe_vec
targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec
bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
;;
So I just added the entry:
powerpc-*-vxworks*)
targ_defvec=bfd_elf32_powerpc_vec
targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec
bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec
bfd_powerpc_pe_vec"
;;
Just to see what would happen and it got a bit further but then complained
that:
*** ld does not support target powerpc-wrs-vxworks
*** see ld/configure.tgt for supported targets
Configure in /us/slovett/compilers/ppc-binutils-build/ld failed, exiting.
At which point I figured I needed to get some help. Is there any help
anywhere that explains how to add new targets (windriver must have done this
since they ship version cygnus-2.7.2-960126 of the gnu compiler with a
prebuilt powerpc-wrs-vxworks toolchain). Also why does the compiler need to
know about the OS? Is there a different target that is supported that will
work?
More information about the Gcc-help
mailing list