This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Building GCC 2.95.2 for VxWorks (powerpc)


I have VxWorks 5.3.1, with GCC 2.7.2 with host Solaris and target
PowerPC (PPC603, or powerpc-eabi).  I do not have the source from WRS
for this version of GCC; I can't find anyone at WRS who will tell me how
to get it :-/.  I'm still trying.

Anyway, I need to build GCC 2.95.2 for this same target, but on host
Linux instead of Solaris.

I've checked the mailing list archives, the crossgcc FAQ, and GCC site's
instructions, etc. but I'm still having troubles.

I built and installed binutils 2.10.1 (--target=powerpc-wrs-vxworks) and
that went fine.

Then I tried to build GCC 2.95.2.  I don't want to use newlib, I want to
use the stuff from WRS--is this possible?

What I did was create $prefix/powerpc-wrs-vxworks/sys-include as a
symlink pointing to the headers that came with the old GCC 2.7.2
compiler for host Solaris.

Then I configured it like this:

  $ ../gcc-2.95.2/configure --target=powerpc-wrs-vxworks \
         --enable-languages=c,c++ --enable-version-specific-runtime-libs
         --with-gnu-as --with-gnu-ld --prefix=$prefix

That seemed to work.

I ran "make", and I hit the failure in fdmatch, etc. which I found
referenced in Tony Farrell's message to this list of 20 Jul 2000,
subject "Notes on building gcc-2.95.2 for VxWorks 5.2, 68k", and fixed
it as recommended there, by adding an #include <types/vxTypesOld.h>.

Then libiberty built, but now I'm getting this error in libio/iovfprintf.c:

  ../../../gcc-2.95.2/libio/iovfprintf.c: In function `_IO_vfprintf':
  ../../../gcc-2.95.2/libio/iovfprintf.c:292: parse error before `int'
  ../../../gcc-2.95.2/libio/iovfprintf.c:305: parse error before `int'
  ../../../gcc-2.95.2/libio/iovfprintf.c:346: parse error before `int'
  ../../../gcc-2.95.2/libio/iovfprintf.c:355: parse error before `long'
  ../../../gcc-2.95.2/libio/iovfprintf.c:369: parse error before `double'
  ../../../gcc-2.95.2/libio/iovfprintf.c:419: parse error before `long'
  ../../../gcc-2.95.2/libio/iovfprintf.c:429: parse error before `unsigned'
  ../../../gcc-2.95.2/libio/iovfprintf.c:441: parse error before `void'
  ../../../gcc-2.95.2/libio/iovfprintf.c:447: parse error before `char'
  ../../../gcc-2.95.2/libio/iovfprintf.c:471: parse error before `unsigned'
  ../../../gcc-2.95.2/libio/iovfprintf.c:476: parse error before `unsigned'

These apparently correspond to uses of va_arg()!

Note I need both C _and_ C++, so I can't just punt libio.

It seems to be a Very Bad Thing if stdarg.h is not set up correctly for
this system, somehow!

I've actually since tried building this same set of code in the same way
on a Solaris (2.7) host instead of Linux, and it fails with the same
errors there as well.

Can anyone point out where I may have gone wrong, or what I can do to
fix or further investigate this problem?

Thanks...!

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <psmith@baynetworks.com>    HASMAT--HA Software Methods & Tools
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
   These are my opinions---Nortel Networks takes no responsibility for them.

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]