This is the mail archive of the glibc-bugs@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]

[Bug dynamic-link/15128] dynamic loader may clobber floating-point parameters on AArch64


http://sourceware.org/bugzilla/show_bug.cgi?id=15128

Andreas Jaeger <aj at suse dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aj at suse dot de

--- Comment #10 from Andreas Jaeger <aj at suse dot de> 2013-02-25 08:05:56 UTC ---
(In reply to comment #9)
> Created attachment 6891 [details]
> testcase with ifunc that fails on x86-64
> 
> This problem is not limited to AArch64.  Attached is a testcase that fails on
> x86-64 (and probably other arches as well).  In this case, an IFUNC resolver
> function clobbers xmm0, which is not saved/restored in _dl_runtime_resolve.

Yes, the problem occurs there as well if you use directly floating point
instructions in the IFUNC resolver, e.g. via:
  volatile float c = foo_impl(42);

And the question here is what is allowed to be done in the resolver - right now
the implicit requirement is: No Floating point.

Before we go down on AARCH64 with the patch to preserver fp/simd arguments,
let's discuss this on libc-alpha, we should handle this the same on all
architectures.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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