Bug 14042 - _mcount@GLIBC_2.0 missing in libc
Summary: _mcount@GLIBC_2.0 missing in libc
Status: RESOLVED FIXED
Alias: None
Product: glibc
Classification: Unclassified
Component: libc (show other bugs)
Version: 2.15
: P2 critical
Target Milestone: ---
Assignee: Andreas Schwab
URL: http://sourceware.org/ml/libc-alpha/2...
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-01 12:33 UTC by Andreas Schwab
Modified: 2014-06-13 14:06 UTC (History)
3 users (show)

See Also:
Host: powerpc-*-*
Target:
Build:
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Schwab 2012-05-01 12:33:34 UTC
This was broken by

commit 24f579d
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Sep 7 22:02:42 2011 -0400

    Fix profiling on powerpc32 secure-plt shared libs and PIEs
Comment 1 Andreas Schwab 2012-05-01 12:54:15 UTC
Also __mcount_internal should not be GLIBC_PRIVATE, since it is not a internal interface between parts of glibc, but a public interface, even if only referenced indirectly via -lc_nonshared.
Comment 2 Alan Modra 2012-05-02 02:58:19 UTC
I guess the problem is that my change breaks backward compatibility.  We really do not want the linker to use _mcount in libc.so.6, because that cannot work when producing -msecure-plt PIEs or shared libraries.  So it would appear that _mcount needs to be in both libc_nonshared.a and libc.so.6, with the latter ideally not available for linking unless given a specific symbol version.  I'll have to dig a bit to see how that can be done using the glibc build system.
Comment 3 Joseph Myers 2012-06-27 22:34:33 UTC
Removing glibc_2.15 keyword as backport suitability can't be judged until there is a fix on master.  After this is fixed on master, anyone wanting a backport should feel free to attach a tested backport patch to this bug (or a new bug, if this one is closed as fixed).
Comment 4 Thomas Schwinge 2012-07-28 08:36:39 UTC
Fixed in commit 261f485936b283f4327fc1f2fc8fd1705d805c12, NEWS updated in
commit ad41a87fe0777b1500df48609307f8d9d906dfb9.