Using -fsanitize=safe-stack compiler/linker flag

I am using clang 3.8.0 and gcc 6.2.1 on CentOS 7.3. Everything works fine until I add ‘-fsanitize=safe-stack’ to the compiler and linker flags.

The shared libraries are built fine but executables linking with these libraries cannot be generated due to a unresolved symbol __safestack_unsaft_stack_ptr.

Is this because that symbol is only available in Clang’s libc++ runtime library but not in gcc’s libstdc++?

Alex Chen

If you built clang yourself, you'll need compiler-rt to link against. If you installed clang through a package manager check that compiler-rt is part of the package you obtained.