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: Switching the default for -fabi-version


On Wed, 2003-10-22 at 07:41, law@redhat.com wrote:
> In message <Pine.LNX.4.44.0310221445510.16615-100000@wotan.suse.de>, Michael Ma
> tz writes:
>  >So, definitely yes.  I doubt though, that it matters, because we also link
>  >against libstdc++ (of course), and hence the new compiler anyway means
>  >full recompilation and lost of backward compatibility.  I hope that
>  >somewhen this all becomes better, like with glibc ;-)
> All true.  However, does KDE have a plug-in architecture?  If so, then it's
> quite possible, even likely based on your data that revving up the ABI
> will mean that you also have to rebuild all the plug-ins if you rebuild
> KDE. 
> 
> Similarly for Mozilla (which worries me even more).

You should also be aware that -Wabi is very agressive.

In many cases, there is no way for the compiler to know for sure that
layouts will change.  It's often warning that things *may* change. 
"You've done something that might lead to classes derived from this
class changing."

I actually argued against -Wabi because I do not think there is a way to
build it that does not give huge numbers of false positives -- without
actually just compiling the same file with both ABIs and then
mechanically comparing the layouts/mangling/etc. of everything. 
Without extreme magic, all plug-ins are *also* linked against the
standard library, so revving the standard library version number is
going to force them to be recompiled anyhow.

And there are bugs that can only be fixed by going to -fabi-version=2. 
We're only talking about the *default* version of the ABI -- we're not
talking about removing -fabi-version=1.

--

Mark Mitchell <mark@codesourcery.com>
CodeSourcery, LLC


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