This is an archive of the discontinued LLVM Phabricator instance.

Marking exported symbols as visible.
ClosedPublic

Authored by aizatsky on Sep 30 2015, 3:04 PM.

Details

Reviewers
kcc
Summary

Without default visibility there's error while compiling libfuzzer in chrome:

../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: hidden symbol 'sanitizer_cov_trace_switch' in obj/testing/libfuzzer/libfuzzer_main.a(FuzzerTraceState.o) is referenced by DSO ./libc++.so
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '
sanitizer_cov_trace_switch'

Similar issue: https://code.google.com/p/chromium/issues/detail?id=368351

Diff Detail

Event Timeline

aizatsky updated this revision to Diff 36149.Sep 30 2015, 3:04 PM
aizatsky retitled this revision from to Marking exported symbols as visible.
aizatsky updated this object.
aizatsky retitled this revision from Marking exported symbols as visible to Marking exported symbols as visible..Sep 30 2015, 3:07 PM
aizatsky updated this object.
aizatsky added a reviewer: kcc.

Is this testable within libFuzzer?
(please CC llvm-commits to libFuzzer patches)

Is this testable within libFuzzer?

This breaks in chrome because linker is stricter in chrome. It doesn't allow reexporting of private symbols there.

aizatsky added a subscriber: llvm-commits.
kcc accepted this revision.Sep 30 2015, 3:20 PM
kcc edited edge metadata.

LGTM

This revision is now accepted and ready to land.Sep 30 2015, 3:20 PM
kcc closed this revision.Sep 30 2015, 3:24 PM

r248954.