This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: rs6000.c / PPc-EABI / VxWorks / varargs / 2.95.2 vs. 2.7.2
- To: gcc at gcc dot gnu dot org
- Subject: Re: rs6000.c / PPc-EABI / VxWorks / varargs / 2.95.2 vs. 2.7.2
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Wed, 15 Nov 2000 11:15:20 -0500
>>>>> DaveK writes:
Dave> I was wondering if anyone could help me understand the changes that went
Dave> into the ppc/eabi calling conventions between 2.7.2 (egcs) and gcc 2.95.2,
Dave> which I *believe* may have been implemented in something called the 'newppc'
Dave> branch.
Dave> The reason behind *that* is that I work with VxWorks, and the version of
Dave> egcs that is supplied has appalling bugs in the optimizer, which basically
Dave> render our application code unreliable. 2.95.2 seems to be a *lot* better
Dave> in that department, and certainly building our code with it fixed at least
Dave> one of our known optimizer related bugs. Unfortunately VxWorks is supplied
Dave> to us as a set of .o files and an ar-chive. So the new code generated by
Dave> 2.95.2 sometimes (but not always) falls down when it tries to interact with
Dave> the OS functions that use the old calling conventions. This shows itself
Dave> in varargs functions in particular, but I'm not sure if any other important
Dave> stuff has changed.
The "newppc" branch work was performed long after gcc-2.95.2 was
released. I would suggest that you complain to VxWork that they cooperate
better with the rest of the GCC development community -- both contributing
their changes and utilizing improvements in the FSF releases. You are
demonstrating the exact problem with forking a private copy.
David