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]
Other format: [Raw text]

Re: Thread-local storage on IA64 in ILP32 mode


On Sat, 2003-08-23 at 11:21, Richard Henderson wrote:
> > The problem is that ia64_expand_move generates invalid instructions.
> 
> Interesting.  I'll have a look on Monday.
> 
> > Also, doe TLS support require linker and/or dynamic-linker support as
> > well as assembler support?
> 
> Of course.

That's what I thought.

> > Right now, whether or not TLS is supported
> > is purely determined by HAVE_AS_TLS.
> 
> We could, I suppose, add a linker test, but the assumption of the moment
> is that you've got one matched version of binutils installed.  As for the
> dynamic linker, I don't know that there's any way to test for that.

This is wrong on HP-UX; we use GAS, but not GLD, and there's no dynamic
linker support anyhow.

I think we need to change:

 #if HAVE_AS_TLS

to something like:

 #if HAVE_AS_TLS && I_HAVENT_TOLD_YOU_NOT_TO_DO_THIS

where I_HAVENT_TOLD_YOU_NOT_TO_DO_THIS would be defined in hpux.h.

Actually, it seems to me like maybe it should really be:

 #if HAVE_AS_TLS && I_HAVE_EXPLICITLY_REQUESTED_TLS

as that would make it less likely to accidentally enable TLS on
operating systems that don't have it, which can cause user confusion.

Let me know what you think and I'll do the hacking.

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com


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