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: preserve xmm8-xmm15 registers in dynamic linker (ld.so)


Adding glibc since this impacts ld.so.

On Tue, Nov 19, 2013 at 8:28 PM, Sergey Maslov V
<sergey.v.maslov@intel.com> wrote:
> Hi,
>
> In order to support __regcall calling convention (pass/return values in up
> to 16 xmm registers, xmm0-xmm15), and the derived Vector Function ABI, the
> following changes are needed:
>
> 1) Be explicit in psABI that xmm8-xmm15 registers should be preserved by
> dynamic linker (ld.so)
> 2) Change the ld.so to follow #1, i.e. do not clobber xmm8-xmm15.
> Fortunately, the normal binding path doesn't need to change as it is not
> using xmm8-xmm15 currently. The LD_AUDIT path needs to change to preserve
> xmm8-xmm15 registers.
>

Saving xmm8-xmm16 for _dl_runtime_profile will increase TCB size by
128 bytes.  Can ld.so clobber ymm8-ymm15 and zmm8-zmm15?  Has
anyone checked ld.so in Solaris and xxxBSD?


-- 
H.J.


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