This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Refactor strtod parsing of NaN payloads
- From: Florian Weimer <fweimer at redhat dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 24 Nov 2015 15:13:47 +0100
- Subject: Re: Refactor strtod parsing of NaN payloads
- Authentication-results: sourceware.org; auth=none
- References: <alpine dot DEB dot 2 dot 10 dot 1511210010230 dot 22057 at digraph dot polyomino dot org dot uk> <565430E2 dot 80709 at redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1511241353130 dot 3275 at digraph dot polyomino dot org dot uk> <56546D72 dot 4020402 at redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1511241401160 dot 3275 at digraph dot polyomino dot org dot uk>
On 11/24/2015 03:04 PM, Joseph Myers wrote:
> On Tue, 24 Nov 2015, Florian Weimer wrote:
>
>>> The point of this refactoring is so that a future change can call these
>>> (libc) functions from the nan* functions in libm. I don't think
>>> internal_function is compatible with PLT calls from other libraries.
>>
>> internal_function is a bit of a misnomer, it just affects the calling
>> convention on some architectures. Unlike attribute_hidden, it does not
>> interfere with linking, as long as the caller uses the same prototype
>> (with the internal_function attribute).
>
> But is that calling convention change compatible with calling through the
> PLT?
It only has an effect on i386, where it uses %eax, %edx, %ecx for
passing arguments. %ebx isn't used, so it won't cause problems. We use
the %eax-only variant in an installed header file, too.
Florian