Page MenuHomeFreeBSD

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

Authored by emaste on Mar 7 2016, 3:41 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Mar 25, 2:47 PM
Unknown Object (File)
Sun, Mar 17, 9:48 PM
Unknown Object (File)
Sat, Mar 16, 4:36 PM
Unknown Object (File)
Feb 24 2024, 3:41 AM
Unknown Object (File)
Feb 10 2024, 5:55 PM
Unknown Object (File)
Dec 31 2023, 5:27 AM
Unknown Object (File)
Dec 27 2023, 5:40 PM
Unknown Object (File)
Dec 27 2023, 5:11 PM
Subscribers
None

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

Lint
Lint Skipped
Unit
Tests Skipped

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.