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: [PATCH] i386: Replace internal_function attribute for __mcount_internal


On 08/14/2017 07:09 PM, H.J. Lu wrote:
> On Mon, Aug 14, 2017 at 9:34 AM, Florian Weimer <fweimer@redhat.com> wrote:
>> I compiled glibc on i386 with internal_function restored, with a special
>> GCC which encodes the regparm attribute value in the symbol name
>> (similar to what Windows does).  This means that mismatches between
>> definition and use result in linker errors.
>>
>> This rediscovered the NSS mismatch already fixed, and another internal
>> mismatch related to mcount.  This one is harmless; it's merely an
>> internal inconsistency introduced by the internal_function removal.
>>
>> After adjusting the Versions files to export the mangled names for
>> GLIBC_PRIVATE functions, all libraries link again and the public ABI
>> checks out, so I'm reasonably confident that we now have a consistent
>> build again.

> Is it possible to add a run-time test?

I don't know.  I expect a basic _mcount/profiling/gprof test to catch
this.  I don't think the calling convention is accidentally compatible.
Some care is needed to avoid linking with system profiling libraries
instead of the freshly build glibc.  I don't know how to do that.  I
doubt that simply building and linking a test with -pg is sufficient.

Thanks,
Florian


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