-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support compiling with -fvisibility=hidden
#435
Comments
This was referenced Oct 13, 2024
ayrtonm
added a commit
that referenced
this issue
Oct 17, 2024
…the pointee We previously defined call gates for pointers to static functions by appending a macro to the rewritten source files. In that case we had to do this because the static function may not be referenced from outside the translation unit. For pointers to globally-visible functions we defined the call gates in the call gate .so for simplicity. This commit changes the latter call gates so they're defined like the former. This change simplifies control-flow since the call gate no longer requires cross-DSO calls and makes it possible to support programs that are intended to be compiled with -fvisibility=hidden since functions that may have hidden visibility are only referenced by call gates within the DSO that defines them. Closes #435.
ayrtonm
added a commit
that referenced
this issue
Oct 17, 2024
…the pointee We previously defined call gates for pointers to static functions by appending a macro to the rewritten source files. In that case we had to do this because the static function may not be referenced from outside the translation unit. For pointers to globally-visible functions we defined the call gates in the call gate .so for simplicity. This commit changes the latter call gates so they're defined like the former. This change simplifies control-flow since the call gate no longer requires cross-DSO calls and makes it possible to support programs that are intended to be compiled with -fvisibility=hidden since functions that may have hidden visibility are only referenced by call gates within the DSO that defines them. Closes #435.
ayrtonm
added a commit
that referenced
this issue
Oct 22, 2024
…the pointee We previously defined call gates for pointers to static functions by appending a macro to the rewritten source files. In that case we had to do this because the static function may not be referenced from outside the translation unit. For pointers to globally-visible functions we defined the call gates in the call gate .so for simplicity. This commit changes the latter call gates so they're defined like the former. This change simplifies control-flow since the call gate no longer requires cross-DSO calls and makes it possible to support programs that are intended to be compiled with -fvisibility=hidden since functions that may have hidden visibility are only referenced by call gates within the DSO that defines them. Closes #435.
ayrtonm
added a commit
that referenced
this issue
Oct 22, 2024
…the pointee We previously defined call gates for pointers to static functions by appending a macro to the rewritten source files. In that case we had to do this because the static function may not be referenced from outside the translation unit. For pointers to globally-visible functions we defined the call gates in the call gate .so for simplicity. This commit changes the latter call gates so they're defined like the former. This change simplifies control-flow since the call gate no longer requires cross-DSO calls and makes it possible to support programs that are intended to be compiled with -fvisibility=hidden since functions that may have hidden visibility are only referenced by call gates within the DSO that defines them. Closes #435.
ayrtonm
added a commit
that referenced
this issue
Oct 31, 2024
…ource files defining the target These call gates were originally defined in the call gate .so for simplicity. Moving them to the source file defining the original address-taken function simplifies control-flow since it no longer requies cross-DSO calls and makes it possible to support programs that are intended to be compiled with -fvisibility=hidden since functions that may have hidden are only referenced by call gates within the DSO that defines them. Closes #435.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Split into:
-fvisibility=hidden
#442-fvisibility=hidden
#443Compiling with
-fvisibility=hidden
gives the following error which @kkysen hit with dav1d. This is caused because the undefined references become local symbols in the other .so so we need explicit visibility attributes on those variables to avoid this.The text was updated successfully, but these errors were encountered: