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