GCC 2.95.2 for arm-wrs-vxworks

Kai Ruottu kai.ruottu@luukku.com
Tue Oct 31 10:20:00 GMT 2000

"GERASIMOV,SERGEY (HP-Roseville,ex1)" wrote:
> I am struggling to build cross gcc 2.95.2 for arm-wrs-vxworks.
> I was successful in building the compiler, however, the message I got when
> I ran it with -v option, was that it runs 2.7.9 version of gcc.

 Are you sure you used the 'arm-wrs-vxworks-gcc -v' ? Not the WRS-name for it...

> However, I have got strange problems during linking, indicating that none
> of the entries in teh ctdt table are valid references.
> Has anybody seen this problem, or does anyone have any positive experience
> building cross gcc for arm-wrs-vxworks.

 I would be interested HOW you built it without any mentioned problems... The rule
goes that ONLY the target headers and libs should be used, not newlib, whatever the
CrossGCC may say that one must use for 'embedded targets'...

 If you used the newlib headers and produced libraries from newlib for 'arm-wrs-vxworks',
please rebuild GCC using the right target stuff... I apologize if I am wrong and
you already used the VxWorks headers (and possible libs) during the build... I just
have seen this 'use-the-newlib-everywhere' syndrome too many times...

 Using the VxWorks-headers from a WRS-GCC-distribution involves all kind of
unexpected and VxWorks-specific problems. When you haven't mentioned having used
any instructions for "How to build a VxWorks targeted compiler from gcc-2.95.2
sources", and not mentioned any of the known problems, like

 o What to do with the 'stddef.h' and 'stdargh.h' when the VxWorks own ones are
   used during the build, but the GCC ones after installing. Which ones are the
   right ones?

 o What to do with the C++ headers coming with the VxWorks headers?  When they
   will be used during the build, this causes the C++ compiles crash (the 2.7-
   headers don't work with 2.95.2 any more...)

 o etc. etc.... (those two were easy to remember)

I must assume you not using any instructions, and as the most weird thing,
having any of the 'normal problems' with a 'xyz-wrs-vxworks' target...

 Unfortunately I haven't heard any VxWorks/ARM instructions, but Dave Korn,
probably on this list, promised some instructions for VxWorks/PPC some
months ago... The problems may vary with different CPUs and their specific
VxWorks headers, but quite a lot may be just the same.  Anyway the problems
should be discussed somehow, my conclusion for the stddef/stdarg problem is
that one should start with the VxWorks ones and disable the GCC ones after
installation (GCC tries then to use them first...). Probably they must be
fixed somehow for gcc-2.95.2 (Dave K. hinted something about this...)

 The 'gcc/fixinc/...' has some suggestions for the VxWorks-fixes. But by
no means one should trust what the 'fixinc' pass in the GCC build did to
the headers, but must check the changes...

 For the C++ headers-problem my suggestion is that they should be disabled
somehow from the VxWorks headers. I assume you using a copy of the 2.7.9
ones, not the headers in their original place, so just removing them would
be the solution. The C++-headers coming with gcc-2.95.2 are sought from the
'$prefix/include/g++-3/...', ie. they are common for all gcc-2.95.2's in the
system (for other targets too...). Just checking (by the names) that none of
the libstdc++-headers are among the VxWorks C-headers is the aim...

 Probably the 'comp.sys.vxworks' newsgroup could have some more info...

Cheers, Kai

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

More information about the crossgcc mailing list