This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports 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: ARM TLS descriptor support


Reviewing some old e-mail, I figured I'd bring up a point that may have
been missed.

On Mar  7, 2011, Nathan Sidwell <nathan@codesourcery.com> wrote:

> On 03/05/11 03:42, Joseph S. Myers wrote:

>> The new entry points (with restricted register clobber sets according to
>> the ABI) appear to have the problem that they don't do anything about
>> saving/restoring NEON registers that the dynamic linker might clobber, but
>> the previously existing dynamic linker entry points also have the same
>> problem.

> Yes, I recall wondering about NEON when writing those entry points,
> but when I saw the existing entry points did nothing either, I put it
> out of my mind as 'not more broken' :)

But are the existing entry points expected to preserve them?

I don't know anything about NEON registers or ABI, but if the calling
conventions are such that the registers are not required to be preserved
across calls, then the pre-existing entry points did not have to
preserve those registers, but the TLSdesc calls must preserve them,
because TLSdesc uses are to behave like loads rather than like calls
(unless the TLSdesc ABI extension and the compiler are amended so as to
regard additional registers are clobbered across TLSdesc loads/calls).

-- 
Alexandre Oliva, freedom fighter    http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer


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