This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc 3.2 -> gcc 3.3 ABI change




--On Friday, March 07, 2003 07:59:25 AM +0100 Gerhard Tonn <GerhardTonn at gammatau dot de> wrote:

On Thursday 06 March 2003 17:49, you wrote:
On Wed, 2003-03-05 at 22:55, Gerhard Tonn wrote:
> Hi,
> I am planning to switch to gcc 3.3 as soon as it is released. I have
> heard rumours that there are ABI changes from gcc 3.2 to gcc 3.3 for
> C++ and/or C. Could someone give me more details or point me to
> documentation? Is there a configure option to keep the old ABI?

We do not know of any ABI changes between 3.2 and 3.3; the goal is for
the two compilers to be compatible.

There have been a couple of bug fixes which affect mangled names, but
those are due to situations where the 3.2 compiler was not a correct C++
compiler, rather that situations where the ABI was changed "for fun".

Thanks. So this mean that any incompatibilities will come up during build time, right?

Not necessarily; for example if two functions f1 and f2 were (incorrectly) given the same mangled name in 3.2 and we've fixed that, their names will change without any sort of message being indicated.


If I were you, I would not worry about this very much; the situations where this kind of thing happens are exceedingly rare. For exmaple, they do not appear anywhere in the C++ runtime library that ships with G++, even though it makes heavy use of almost every C++ feature.

Remember that ABI changes are only one class of changes that can affect your code. For example, suppose that given:

 void f(int);
 void f(double);

in G++ 3.2 "f(0)" erroneously called "f(double)" and we fixed it to call "f(int)". This would be a bug fix, and not an ABI change, but it could still cause problems if your code depended on the old behavior.

--
Mark Mitchell                mark at codesourcery dot com
CodeSourcery, LLC            http://www.codesourcery.com


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