Page MenuHomeFreeBSD

libc/{i386,amd64}: Do not export .cerror when building WITHOUT_SYMVER
ClosedPublic

Authored by emaste on Mar 7 2016, 3:41 PM.

Details

Summary

Further to r240152 (i386) and r240178 (amd64), hide the .cerror symbol so that it is not exported by libc.so, if symbol versioning is not in use. Without this change libc contains .text relocations for .cerror, as described in LLVM PR 26813 (http://llvm.org/pr26813).

PR: 207712
Submitted by: Rafael Espíndola

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

emaste retitled this revision from to libc/{i386,amd64}: Do not export .cerror when building WITHOUT_SYMVER.
emaste updated this object.
emaste edited the test plan for this revision. (Show Details)
emaste added reviewers: kib, jilles, davide.
kib edited edge metadata.

I do not object against this, but note that we do not, and will not, support non-symver builds of libc. The hidden attribute is more useful at the client side, but since all callers are in asm, it makes not difference. Still, normal builds do not export cerror since it is not listed in the symver scripts.

This revision is now accepted and ready to land.Mar 7 2016, 4:00 PM

I agree that we require symver support for FreeBSD itself, and that this change is a no-op in the normal case as .cerror is already not exported (because it is not listed in the symver script). This is only to support FreeBSD derivatives or custom builds with WITHOUT_SYMVER configured via src.conf(5).

jilles edited edge metadata.
This revision was automatically updated to reflect the committed changes.