This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: RFC: Should x86-64 support arbitrary calling conventions?


* Alexander Monakov:

> On Fri, 24 Mar 2017, Florian Weimer wrote:
>> > There are also "foreign calls" in ld.so, where functions in libc.so are
>> > used and vector registers may be cloberred.
>> 
>> Right.  But the _dl_fixup path relevant to the trampoline should not
>> do that much work.  (Not sure if audit modules come into play here.)
>> 
>> The largest problem probably is this: IFUNC resolvers would have to be
>> compiled in that special way, too, and those can reside in
>> applications.
>
> The libc can save vector register as-needed, just before calling
> external code (such as ifunc resolvers and audit callbacks).

Right, that might be a reasonable alternative.

But as I said, the XSAVE-based approach has the advantage that future
CPUs will no longer require glibc changes.  In the past, that has been
a constant source of headaches (both bugs and performance problems).


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