ISO C violation (really -- style & string pasting)
Donn Terry
donn@interix.com
Wed Mar 31 23:46:00 GMT 1999
I agree in general, and I will definitely do the fix in a way
that won't break anyone else, but in my case, since I own the
whole tool chain, I can fix it. (And, in fact, already have,
based on now-obsolete source bases.)
I suspect (but certainly don't know) that in the Sparc case
it doesn't trip over the prefix "_" problem, and thus isn't
a namespace pollution issue. A single leading _ is perfectly
reasonable if you don't prefix them to user symbols.
Donn
espie@quatramaran.ens.fr wrote:
>
> In article < 19990325142948.E27147@cygnus.com > you write:
> >No. Just create a GLOBAL_OFFSET_TABLE_SYMBOL define to use
> >within i386.{h,c,md} instead of the current string literal.
> >You can then override this for coff or whatever as needed.
>
> >Probably no one's noticed this before because coff doesn't
> >use pic on any currently supported platform.
>
> Same problem occurs with a.out, and I do happen to have an i386
> a.out platform that does support pic (yep, it's a hack... an old binutils
> that got hacked to get pic support for i386... we're looking to upgrading
> OpenBSD to newer tools post-2.5).
>
> Part of the problem is that you can't change gcc without changing
> the linker as well... the other part of the problem is that this can
> snowball: this _GLOBAL_OFFSET_TABLE_ is also present in sparc code,
> and I believe this particular spelling was picked in order to be
> plug-compatible with the native SunOS 4 linker...
>
> I'm not really sure there's a way to fix that without breaking compatibility
> at one point or another... stuff that we got source to is no big deal (like
> the linker), getting people to upgrade all their tools may just be harder,
> getting vendors to distribute newer dynamic libraries might be next to
> impossible.
--
===================================================
Donn Terry mailto:donn@interix.com
Softway Systems, Inc. http://www.interix.com
2850 McClelland Dr, Ste. 1800 Ft.Collins CO 80525
Tel: +1-970-204-9900 Fax: +1-970-204-9951
===================================================
More information about the Gcc
mailing list