[llvm-bugs] [Bug 42994] New: Debian stable with g++8: Link is failing with relocation R_X86_64_PC32 against undefined symbol `__ehdr_start'

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Aug 14 03:00:19 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=42994

            Bug ID: 42994
           Summary: Debian stable with g++8: Link is failing with
                    relocation R_X86_64_PC32 against undefined symbol
                    `__ehdr_start'
           Product: compiler-rt
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: hwasan
          Assignee: unassignedbugs at nondot.org
          Reporter: sylvestre at debian.org
                CC: llvm-bugs at lists.llvm.org

The link fails on:

[ 91%] Linking CXX shared library
../../../../lib/clang/10.0.0/lib/linux/libclang_rt.hwasan-x86_64.so
cd
"/root/llvm-toolchain-snapshot-10~svn368743/build-llvm/projects/compiler-rt/lib/hwasan"
&& /usr/bin/cmake -E cmake_link_script
CMakeFiles/clang_rt.hwasan-dynamic-x86_64.dir/link.txt --verbose=1
/usr/bin/g++-8 -fPIC -g -O2
-fdebug-prefix-map=/root/llvm-toolchain-snapshot-10~svn368743=.
-fstack-protector-strong -Wformat -Werror=format-security -fPIC
-fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra
-Wno-unused-parameter -Wwrite-strings -Wcast-qual
-Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough
-Wno-maybe-uninitialized -Wno-class-memaccess -Wno-noexcept-type
-Wdelete-non-virtual-dtor -Wno-comment -ffunction-sections -fdata-sections
-flto=thin -Wall -std=c++11 -Wno-unused-parameter -O2 -DNDEBUG -g1  -m64
-nodefaultlibs -Wl,-z,text
-Wl,--version-script,/root/llvm-toolchain-snapshot-10~svn368743/build-llvm/projects/compiler-rt/lib/hwasan/clang_rt.hwasan-dynamic-x86_64.vers
-Wl,-rpath-link,/root/llvm-toolchain-snapshot-10~svn368743/build-llvm/./lib 
-Wl,-z,relro -Wl,-z,defs -Wl,-z,nodelete -flto=thin -shared
-Wl,-soname,libclang_rt.hwasan-x86_64.so -o
../../../../lib/clang/10.0.0/lib/linux/libclang_rt.hwasan-x86_64.so
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_allocator.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_dynamic_shadow.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_interceptors.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_interceptors_vfork.S.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_linux.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_memintrinsics.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_poisoning.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_report.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_tag_mismatch_aarch64.S.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_thread.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_thread_list.cpp.o
CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_new_delete.cpp.o
../interception/CMakeFiles/RTInterception.x86_64.dir/interception_linux.cpp.o
../interception/CMakeFiles/RTInterception.x86_64.dir/interception_mac.cpp.o
../interception/CMakeFiles/RTInterception.x86_64.dir/interception_win.cpp.o
../interception/CMakeFiles/RTInterception.x86_64.dir/interception_type_test.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_allocator.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_common.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_deadlock_detector1.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_deadlock_detector2.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_errno.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_file.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_flags.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_flag_parser.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_fuchsia.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_libc.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_libignore.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux_s390.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_mac.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_netbsd.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_openbsd.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_persistent_allocator.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_freebsd.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_linux.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_netbsd.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_openbsd.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_posix.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_solaris.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_posix.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_printf.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_common.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_bsd.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_linux.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_mac.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_solaris.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_rtems.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_solaris.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_stoptheworld_mac.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_suppressions.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_tls_get_addr.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_thread_registry.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_type_traits.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_win.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_termination.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_common_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_allocator_checks.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_linux_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_mac_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_posix_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_stoptheworld_linux_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_stoptheworld_netbsd_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sancov_flags.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_fuchsia.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_libcdep_new.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_win_sections.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_allocator_report.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stackdepot.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_printer.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_sparc.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_libbacktrace.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_mac.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_markup.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_posix_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_report.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_win.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_unwind_linux_libcdep.cpp.o
../sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_unwind_win.cpp.o
../ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_diag.cpp.o
../ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_init.cpp.o
../ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_flags.cpp.o
../ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_handlers.cpp.o
../ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_monitor.cpp.o
../ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_value.cpp.o
../ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_handlers_cxx.cpp.o
../ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash.cpp.o
../ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash_itanium.cpp.o
../ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash_win.cpp.o
CMakeFiles/RTHwasan_dynamic_version_script_dummy.x86_64.dir/dummy.cpp.o
-Wl,-rpath,"\$ORIGIN/../lib" -lstdc++ -lgcc_s -lc -ldl -lrt -lm -lpthread 
/usr/bin/ld: CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan.cpp.o: relocation
R_X86_64_PC32 against undefined symbol `__ehdr_start' can not be used when
making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: nonrepresentable section on output
collect2: error: ld returned 1 exit status


With g++ (Debian 8.3.0-6) 8.3.0

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190814/8c105731/attachment-0001.html>


More information about the llvm-bugs mailing list