Attempted to rebuild eztrace with the libomp built with -Wl,-Bsymbolic and it didn't help.
Correct version of libomp downloaded:
Get:108 http://ftpmaster.internal/ubuntu mantic-proposed/universe amd64 libomp5-15 amd64 1:15.0.7-4ubuntu2 [480 kB]
(https://launchpad.net/ubuntu/+source/eztrace/2.0+repack-12/+build/26015911)
expected linker options when building libomp:
[2100/2653] : && /<<PKGBUILDDIR>>/build-llvm/./bin/clang --target=x86_64-pc-linux-gnu -fPIC -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic-interposition -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -fdebug-prefix-map=/<<PKGBUILDDIR>>/build-llvm/runtimes/runtimes-bins=build-llvm/runtimes/runtimes-bins -fdebug-prefix-map=/<<PKGBUILDDIR>>/= -no-canonical-prefixes -ffile-prefix-map=/<<PKGBUILDDIR>>/build-llvm/runtimes/runtimes-bins=build-llvm/runtimes/runtimes-bins -ffile-prefix-map=/<<PKGBUILDDIR>>/= -no-canonical-prefixes -Wall -Wcast-qual -Wformat-pedantic -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -O3 -DNDEBUG -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--build-id -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold -Wl,--warn-shared-textrel -Wl,--as-needed -Wl,--version-script=/<<PKGBUILDDIR>>/openmp/runtime/src/exports_so.txt -static-libgcc -Wl,-z,noexecstack -Wl,-Bno-symbolic -shared -Wl,-soname,libomp.so.5 -o openmp/runtime/src/libomp.so.5 openmp/runtime/src/CMakeFiles/omp.dir/kmp_alloc.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_atomic.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_csupport.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_debug.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_itt.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_environment.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_error.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_global.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_i18n.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_io.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_settings.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_str.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_tasking.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_threadprivate.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_utility.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_barrier.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_wait_release.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_affinity.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_dispatch.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_lock.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_sched.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/z_Linux_util.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_gsupport.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/thirdparty/ittnotify/ittnotify_static.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_taskdeps.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_cancel.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_ftn_cdecl.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_ftn_extra.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/kmp_version.cpp.o openmp/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o -lm -ldl && cd /<<PKGBUILDDIR>>/build-llvm/runtimes/runtimes-bins/openmp/runtime/src && /usr/bin/cmake -E create_symlink libomp.so.5 libgomp.so && /usr/bin/cmake -E create_symlink libomp.so.5 libiomp5.so
https://launchpad.net/ubuntu/+source/llvm-toolchain-15/1:15.0.7-4ubuntu2/+build/26311876
Per https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1899199/comments/6:
$ apt policy libomp5-15 libomp5-15: Installed: 1:15.0.7-4ubuntu2 Candidate: 1:15.0.7-4ubuntu2 Version table: *** 1:15.0.7-4ubuntu2 990 990 http://archive.ubuntu.com/ubuntu mantic-proposed/universe amd64 Packages 100 /var/lib/dpkg/status 1:15.0.7-4ubuntu1 500 500 http://archive.ubuntu.com/ubuntu mantic/universe amd64 Packages $ readelf --relocs /usr/lib/x86_64-linux-gnu/libomp.so.5 | grep ompt $
So, I don't know why "-Wl,-Bsymbolic-functions -Wl,-Bno-symbolic" is not having the documented effect.
Attempted to rebuild eztrace with the libomp built with -Wl,-Bsymbolic and it didn't help.
Correct version of libomp downloaded:
Get:108 http:// ftpmaster. internal/ ubuntu mantic- proposed/ universe amd64 libomp5-15 amd64 1:15.0.7-4ubuntu2 [480 kB]
(https:/ /launchpad. net/ubuntu/ +source/ eztrace/ 2.0+repack- 12/+build/ 26015911)
expected linker options when building libomp:
[2100/2653] : && /<<PKGBUILDDIR> >/build- llvm/./ bin/clang --target= x86_64- pc-linux- gnu -fPIC -fstack- protector- strong -Wformat -Werror= format- security -Wno-unused- command- line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic- interposition -Werror=date-time -Werror= unguarded- availability- new -Wall -Wextra -Wno-unused- parameter -Wwrite-strings -Wmissing- field-initializ ers -Wimplicit- fallthrough -Wcovered- switch- default -Wstring-conversion -Wmisleading- indentation -fdiagnostics-color -ffunction-sections -fdata-sections -fdebug- prefix- map=/<< PKGBUILDDIR> >/build- llvm/runtimes/ runtimes- bins=build- llvm/runtimes/ runtimes- bins -fdebug- prefix- map=/<< PKGBUILDDIR> >/= -no-canonical- prefixes -ffile- prefix- map=/<< PKGBUILDDIR> >/build- llvm/runtimes/ runtimes- bins=build- llvm/runtimes/ runtimes- bins -ffile- prefix- map=/<< PKGBUILDDIR> >/= -no-canonical- prefixes -Wall -Wcast-qual -Wformat-pedantic -Wimplicit- fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -O3 -DNDEBUG -Wl,-Bsymbolic- functions -Wl,-z,relro -Wl,--build-id -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold -Wl,--warn- shared- textrel -Wl,--as-needed -Wl,--version- script= /<<PKGBUILDDIR> >/openmp/ runtime/ src/exports_ so.txt -static-libgcc -Wl,-z,noexecstack -Wl,-Bno-symbolic -shared -Wl,-soname, libomp. so.5 -o openmp/ runtime/ src/libomp. so.5 openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_alloc. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_atomic. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_csupport. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_debug. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_itt. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_environment .cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_error. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_global. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_i18n. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_io. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_runtime. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_settings. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_str. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_tasking. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_threadpriva te.cpp. o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_utility. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_barrier. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_wait_ release. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_affinity. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_dispatch. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_lock. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_sched. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ z_Linux_ util.cpp. o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_gsupport. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ thirdparty/ ittnotify/ ittnotify_ static. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_taskdeps. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_cancel. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_ftn_ cdecl.cpp. o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_ftn_ extra.cpp. o openmp/ runtime/ src/CMakeFiles/ omp.dir/ kmp_version. cpp.o openmp/ runtime/ src/CMakeFiles/ omp.dir/ z_Linux_ asm.S.o -lm -ldl && cd /<<PKGBUILDDIR> >/build- llvm/runtimes/ runtimes- bins/openmp/ runtime/ src && /usr/bin/cmake -E create_symlink libomp.so.5 libgomp.so && /usr/bin/cmake -E create_symlink libomp.so.5 libiomp5.so
https:/ /launchpad. net/ubuntu/ +source/ llvm-toolchain- 15/1:15. 0.7-4ubuntu2/ +build/ 26311876
Per https:/ /bugs.launchpad .net/ubuntu/ +source/ llvm-defaults/ +bug/1899199/ comments/ 6:
$ apt policy libomp5-15 archive. ubuntu. com/ubuntu mantic- proposed/ universe amd64 Packages dpkg/status 15.0.7- 4ubuntu1 500 archive. ubuntu. com/ubuntu mantic/universe amd64 Packages x86_64- linux-gnu/ libomp. so.5 | grep ompt
libomp5-15:
Installed: 1:15.0.7-4ubuntu2
Candidate: 1:15.0.7-4ubuntu2
Version table:
*** 1:15.0.7-4ubuntu2 990
990 http://
100 /var/lib/
1:
500 http://
$ readelf --relocs /usr/lib/
$
So, I don't know why "-Wl,-Bsymbolic -functions -Wl,-Bno-symbolic" is not having the documented effect.