Possibly OT: GCC 2.96 on PPC for VxWorks 5.5

Paul Smith psmith@nortel.com
Wed Jun 14 13:38:00 GMT 2006

%% John Clark <jclark@metricsystems.com> writes:

  jc> Just as an aside, if you have the compiler to the point were it
  jc> generates so close to nearly identical code, what is the
  jc> 'problem'?

Well, there are two problems.

The first is that the entire move to Linux as a host platform is really
being driven "bottom up" by myself and a few other designers.  There's
only a mild interest in it at the higher levels.  That is, they'd love
to get the productivity increase but not at the expense of slipping any
current schedules.  The ideal would be to get 100% byte-for-byte
identical output from both host environments: no one can argue with
that and people can move to Linux (or not) on their own time.

The second is that, as I mentioned, we use ClearCase's clearmake, which
has a feature allowing a derived object like a .o to be "winked in" from
someone else's build.  That means that people building on Linux will
wink in from people who have built on Solaris, and vice versa.  Although
the difference are very small it makes me uneasy to have that sort of
cross-pollination of derived objects when they're not identical.

BTW, I've discovered one or two other situations where the assembly
output is different, so it is pretty unlikely I will be able to achieve
100% compatibility with this set of compiler source :-/.

%% "Dave Korn" <dave.korn@artimi.com> writes:

  dk> Maybe someone else has a copy and would let you get a copy from
  dk> them.

That would be ideal.  I was half hoping someone on this list might have
one...  I am using *a* version of the WRS 2.96 compiler I found on the
'net but obviously the source I have is not identical to the Solaris
compiler I'm using.

  jc> Thing is, there's clearly differences in the backend .md
  dk> file between the version you've compiled from mainline and the
  dk> version WRS used to make their compiler.

Yes; as I mentioned above I've discovered other differences in a few
other files that makes this even more obvious :-(.

  dk> Perhaps if you run them both against the same testsuite and see
  dk> how the results compare?

That could be done.  However generally for a compiler upgrade they want
to run the entire test suite including regressions, which is thousands
of tests and takes weeks (not all tests are automated).  For a change
this small I might be able to convince them to just run the standard
sanity/regress which is automated and only takes 4-5 hours.

As above, though, I absolutely don't want to have different output, no
matter how small the differences are, generated depending on the host
you build on.  That just strikes me as bad in so many ways.

So, I guess it comes down to either (a) keep looking for the exact
compiler version as on Solaris, or (b) upgrade both Linux and Solaris to
the same version of the compiler.  I do have another 2.96 version I
found; it reports this version:

    gcc version gcc-2.96 (2.96+ MW/LM) 19990621 AltiVec VxWorks 5.5
    30526 65115 [...]

I don't know what the "MW/LM" designation means... anyone have any ideas?

Those extra numbers are Wind River bug (SPR) numbers, so this compiler
apparently has a number of patches applied to it.

Maybe I can make a case for upgrading both host environments to this new
compiler.  If only I could find out some info on those patches so I
could discover some that we desperately need :-).


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

For unsubscribe information see http://sourceware.org/lists.html#faq

More information about the crossgcc mailing list