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
Disable semantic interposition in ELF shared libraries #821
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #821 +/- ##
========================================
Coverage 76.67% 76.67%
========================================
Files 71 71
Lines 7457 7457
Branches 1341 1342 +1
========================================
Hits 5718 5718
+ Misses 1211 1210 -1
- Partials 528 529 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only had minor questions, otherwise looks good!
…by the compiler. This disallows calls to our own exported functions being replaced by LD_PRELOAD, thus avoiding the potential bugs and allowing the compiler to optimize better.
849d6cb
to
5326715
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Disallow semantic interposition in ELF shared libraries if supported by the compiler.
This disallows calls to our own exported functions being replaced by LD_PRELOAD, thus
avoiding the potential bugs and allowing the compiler to optimize better.
The best/most detailed description of this compiler parameter I have found is here:
https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup
I have not been able to reliably measure a performance difference with this, and that is
likely because we rarely call our own exported functions, and never in any hot areas.
This does give a little size reduction for the shared library.