Reduce number of exported symbols in shred library #710
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
At one of the last meetings @ahbarnett noted that the number of symbols exported from
libfinufft.so
increases by a lot whenducc
is used for FFTs.This can most likely be fixed by compiling the sources with "-fvisibility=hidden" under Linux and using the already existing
FINUFFT_EXPORT
macros to explicitly make functions visible under Linux, very similar to what happens under Windows.The current state of the branch demonstrates this when compiling with the
makefile
; you can check the resulting shared library usingnm -C -D -U lib/libfinufft.so
to see the exported symbols.I don't think there is much I can do about the exported weak symbols (
w
/W
), but the overall number goes down from 1000+ to about 130 when using theducc
back end, which is at least some progress.Still to do:
cmake