Skip to content

Commit

Permalink
Merge pull request #95 from r-devulap/lib-ver
Browse files Browse the repository at this point in the history
Add soversion to the lib
  • Loading branch information
r-devulap authored Oct 26, 2023
2 parents 3c9bf9a + 7af6e11 commit 2e5e136
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 6 deletions.
4 changes: 4 additions & 0 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,5 +161,9 @@ jobs:
cd builddir
ninja
- name: List exported symbols
run: |
nm --demangle --dynamic --defined-only --extern-only builddir/libx86simdsort.so
- name: Run test suite on SPR
run: sde -spr -- ./builddir/testexe
45 changes: 45 additions & 0 deletions lib/list-of-exported-symbols.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<double>(double*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<float>(float*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<int>(int*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<long>(long*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<short>(short*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<unsigned int>(unsigned int*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<unsigned long>(unsigned long*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argselect<unsigned short>(unsigned short*, unsigned long, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<double>(double*, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<float>(float*, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<int>(int*, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<long>(long*, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<short>(short*, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<unsigned int>(unsigned int*, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<unsigned long>(unsigned long*, unsigned long, bool)
std::vector<unsigned long, std::allocator<unsigned long> > x86simdsort::argsort<unsigned short>(unsigned short*, unsigned long, bool)
void x86simdsort::partial_qsort<double>(double*, unsigned long, unsigned long, bool)
void x86simdsort::partial_qsort<float>(float*, unsigned long, unsigned long, bool)
void x86simdsort::partial_qsort<int>(int*, unsigned long, unsigned long, bool)
void x86simdsort::partial_qsort<long>(long*, unsigned long, unsigned long, bool)
void x86simdsort::partial_qsort<short>(short*, unsigned long, unsigned long, bool)
void x86simdsort::partial_qsort<unsigned int>(unsigned int*, unsigned long, unsigned long, bool)
void x86simdsort::partial_qsort<unsigned long>(unsigned long*, unsigned long, unsigned long, bool)
void x86simdsort::partial_qsort<unsigned short>(unsigned short*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<double>(double*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<float>(float*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<int>(int*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<long>(long*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<short>(short*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<unsigned int>(unsigned int*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<unsigned long>(unsigned long*, unsigned long, unsigned long, bool)
void x86simdsort::qselect<unsigned short>(unsigned short*, unsigned long, unsigned long, bool)
void x86simdsort::qsort<double>(double*, unsigned long, bool)
void x86simdsort::qsort<float>(float*, unsigned long, bool)
void x86simdsort::qsort<int>(int*, unsigned long, bool)
void x86simdsort::qsort<long>(long*, unsigned long, bool)
void x86simdsort::qsort<short>(short*, unsigned long, bool)
void x86simdsort::qsort<unsigned int>(unsigned int*, unsigned long, bool)
void x86simdsort::qsort<unsigned long>(unsigned long*, unsigned long, bool)
void x86simdsort::qsort<unsigned short>(unsigned short*, unsigned long, bool)
_ZN11x86simdsort13partial_qsortIDF16_EEvPT_mmb
_ZN11x86simdsort5qsortIDF16_EEvPT_mb
_ZN11x86simdsort7argsortIDF16_EESt6vectorImSaImEEPT_mb
_ZN11x86simdsort7qselectIDF16_EEvPT_mmb
_ZN11x86simdsort9argselectIDF16_EESt6vectorImSaImEEPT_mmb
12 changes: 8 additions & 4 deletions lib/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ if cpp.has_argument('-march=haswell')
'x86simdsort-avx2.cpp',
),
include_directories : [src],
cpp_args : ['-march=haswell', flags_hide_symbols],
cpp_args : ['-march=haswell'],
gnu_symbol_visibility : 'inlineshidden',
)
endif

Expand All @@ -16,7 +17,8 @@ if cpp.has_argument('-march=skylake-avx512')
'x86simdsort-skx.cpp',
),
include_directories : [src],
cpp_args : ['-march=skylake-avx512', flags_hide_symbols],
cpp_args : ['-march=skylake-avx512'],
gnu_symbol_visibility : 'inlineshidden',
)
endif

Expand All @@ -26,7 +28,8 @@ if cpp.has_argument('-march=icelake-client')
'x86simdsort-icl.cpp',
),
include_directories : [src],
cpp_args : ['-march=icelake-client', flags_hide_symbols],
cpp_args : ['-march=icelake-client'],
gnu_symbol_visibility : 'inlineshidden',
)
endif

Expand All @@ -36,7 +39,8 @@ if cancompilefp16
'x86simdsort-spr.cpp',
),
include_directories : [src],
cpp_args : ['-march=sapphirerapids', flags_hide_symbols],
cpp_args : ['-march=sapphirerapids'],
gnu_symbol_visibility : 'inlineshidden',
)
endif

Expand Down
4 changes: 2 additions & 2 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ int main() {
}
'''
cancompilefp16 = cpp.compiles(fp16code, args:'-march=sapphirerapids')
flags_hide_symbols = ['-fvisibility=hidden', '-fvisibility-inlines-hidden']

subdir('lib')
libsimdsort = shared_library('x86simdsort',
'lib/x86simdsort.cpp',
include_directories : [utils, lib],
link_with : [libtargets],
cpp_args : [flags_hide_symbols],
gnu_symbol_visibility : 'inlineshidden',
install : true,
soversion : 0,
)

pkg_mod = import('pkgconfig')
Expand Down

0 comments on commit 2e5e136

Please sign in to comment.