This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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