This is the mail archive of the gcc-patches@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: Support for #pragma redefine_external on Solaris


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.


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