Support for #pragma redefine_external on Solaris
Fergus Henderson
fjh@cs.mu.OZ.AU
Tue Dec 11 09:42:00 GMT 2001
On 30-Nov-2001, Richard Henderson <rth@redhat.com> wrote:
> On Fri, Nov 30, 2001 at 10:25:32AM +0100, Martin von Loewis wrote:
> > That is a separate issue: the implementation could be in the
> > front-ends, yet it would be activated based on target configuration.
>
> This would be a Good Thing, because Tru64 5.x uses a similar
> construct. Under a different name, which I forget at the moment.
Apparently MVS has a similar construct too, if the following
extract from /usr/include/zconf.h on my Linux box is any guide:
/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)
# pragma map(deflateInit_,"DEIN")
# pragma map(deflateInit2_,"DEIN2")
...
#endif
Note that this pragma occurs before the declaration of the relevant functions.
The only similar thing I spotted in the Tru64 5.1 headers was
`pragma extern_prefix "foo"'. That pragma seems to insert the specified
prefix "foo" at the start of the assembler names for all the following
declarations, until the next `pragma extern_prefix ""'. That seems
different enough that I don't think the Solaris `pragma redefine_external'
code would help much.
--
Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit
The University of Melbourne | of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
More information about the Gcc-patches
mailing list