This is the mail archive of the
mailing list for the GCC project.
Re: Support for #pragma redefine_external on Solaris
- From: Fergus Henderson <fjh at cs dot mu dot OZ dot AU>
- To: Richard Henderson <rth at redhat dot com>, Martin von Loewis <loewis at informatik dot hu-berlin dot de>, ian at airs dot com, gcc-patches at gcc dot gnu dot org
- Date: Wed, 12 Dec 2001 04:42:03 +1100
- Subject: Re: Support for #pragma redefine_external on Solaris
- References: <firstname.lastname@example.org> <200111291137.fATBbDU22194@paros.informatik.hu-berlin.de> <email@example.com> <200111300925.fAU9PW921097@paros.informatik.hu-berlin.de> <20011130130323.A32134@redhat.com>
On 30-Nov-2001, Richard Henderson <firstname.lastname@example.org> 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 */
# pragma map(deflateInit_,"DEIN")
# pragma map(deflateInit2_,"DEIN2")
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 <email@example.com> | "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.