Fix missed symbols ld: ../lib/libhs.so.5.3.0: undefined reference to `avx2_memset' ld: ../lib/libhs.so.5.3.0: undefined reference to `core2_memcpy' ld: ../lib/libhs.so.5.3.0: undefined reference to `core2_memset' ld: ../lib/libhs.so.5.3.0: undefined reference to `core2_memmove' ld: ../lib/libhs.so.5.3.0: undefined reference to `avx2_memmove' ld: ../lib/libhs.so.5.3.0: undefined reference to `corei7_memset' ld: ../lib/libhs.so.5.3.0: undefined reference to `corei7_memcpy' ld: ../lib/libhs.so.5.3.0: undefined reference to `avx2_memcpy' ld: ../lib/libhs.so.5.3.0: undefined reference to `corei7_memmove' see https://github.com/intel/hyperscan/issues/292 diff --git a/hyperscan/cmake/build_wrapper.sh b/hyperscan/cmake/build_wrapper.sh index 1962813..5559b78 100755 --- a/cmake/build_wrapper.sh +++ b/cmake/build_wrapper.sh @@ -16,8 +16,10 @@ KEEPSYMS=$(mktemp -p /tmp keep.syms.XXXXX) # find the libc used by gcc LIBC_SO=$("$@" --print-file-name=libc.so.6) cp ${KEEPSYMS_IN} ${KEEPSYMS} +# see https://github.com/intel/hyperscan/issues/292 # get all symbols from libc and turn them into patterns -nm -f p -g -D ${LIBC_SO} | sed -s 's/\([^ ]*\).*/^\1$/' >> ${KEEPSYMS} +nm -f p -g -D ${LIBC_SO} | sed -s 's/\([^ @]*\).*/^\1$/' >> ${KEEPSYMS} +#nm -f p -g -D ${LIBC_SO} | sed -s 's/\([^ ]*\).*/^\1$/' >> ${KEEPSYMS} # build the object "$@" # rename the symbols in the object