Skip to content
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

Hidden symbols fix #123

Merged
merged 2 commits into from
May 11, 2015
Merged

Conversation

jack-pappas
Copy link
Contributor

This PR modifies the symbol hiding introduced in #112 and should allow #114 to be re-submitted without breaking the build.

When BUILD_TESTS is enabled in the CMake configuration, we now build a second, special version of libblosc/blosc.dll that exposes the normally-hidden symbols like shuffle_sse2 to allow the tests to call them directly without going through the CPU feature-detection code. This extra library is called libblosc_testing/blosc_testing.dll and is not installed like the other libraries -- it is only used by and for the tests.

One thing that should be checked before accepting this PR -- the CMake config script now sets the symbol visibility to hidden by default (e.g., it will pass -fvisibility=hidden to GCC and Clang), so this might end up hiding some additional symbols that were visible by default before. If that's the case and they still need to be exported (for backwards compatibility), please let me know so I can make the necessary adjustments to preserve their visibility.

Moved preprocessor ifdefs which define the symbol indicating an exported symbol into a common file (blosc-export.h) that handles both blosc and the shuffle implementations.
For testing, build a special version of the blosc shared library which exports some normally-hidden symbols; the test binaries now link to this version of the library so they can test internal library functions.
@FrancescAlted
Copy link
Member

I have had a look at the new visible symbols (basically, the ones listed in blosc.h) and I think they are all in. So merging.

FrancescAlted added a commit that referenced this pull request May 11, 2015
@FrancescAlted FrancescAlted merged commit f9530c8 into Blosc:master May 11, 2015
@jack-pappas jack-pappas deleted the hidden-symbols-fix branch May 11, 2015 23:26
@ax3l ax3l mentioned this pull request Jun 16, 2021
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants