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]

Re: ISO C violation (really -- style & string pasting)


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.


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