Closed Bug 1579523 Opened 2 years ago Closed 2 years ago

fix visibility definition on android even more

Categories

(Firefox Build System :: General, task)

All
Android
task
Not set
normal

Tracking

(firefox71 fixed)

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: froydnj, Assigned: froydnj)

References

Details

Attachments

(1 file)

No description provided.

A previous patch defined _LIBCPP_HIDE_FROM_ABI to the empty string.
This definition worked for normal (opt/debug) builds, but
PGO-instrumented builds fell over with some linker errors. A closer
look at the definition of _LIBCPP_HIDE_FROM_ABI:

#ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU
#  ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 0
#  else
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 1
#  endif
#endif

#ifndef _LIBCPP_HIDE_FROM_ABI
#  if _LIBCPP_HIDE_FROM_ABI_PER_TU
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_INTERNAL_LINKAGE
#  else
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#  endif
#endif

says that there are two macros involved there: one to set hidden visibility
(which we don't want), and another to set internal linkage, which actually
turns out to be kind of important. So we change our definition to provide
internal linkage while removing hidden visibility.

Pushed by nfroyd@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/26711f10f5f4
fix visibility definition for future NDKs on Android; r=nalexander
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
You need to log in before you can comment on or make changes to this bug.