Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 736042 - sys-libs/compiler-rt-sanitizers-10.0.1 : ERROR: failed (compile phase): relocation R_X86_64_PC32 against undefined symbol `__ehdr_start' (...) ; recompile with -fPIC
Summary: sys-libs/compiler-rt-sanitizers-10.0.1 : ERROR: failed (compile phase): reloc...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: LLVM support project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-05 13:26 UTC by Raimund
Modified: 2020-10-25 20:08 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,384.77 KB, text/plain)
2020-08-05 13:28 UTC, Raimund
Details
environment (environment,135.91 KB, text/plain)
2020-08-05 13:29 UTC, Raimund
Details
emerge --info (emerge-info.txt,5.92 KB, text/plain)
2020-08-05 13:30 UTC, Raimund
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raimund 2020-08-05 13:26:54 UTC
USE="clang libfuzzer profile sanitize xray -test"

Compilation fails with

[359/558] : && /usr/lib/llvm/10/bin/x86_64-pc-linux-gnu-clang++ -fPIC -O2 -pipe -march=native -fomit-frame-pointer -Wall -std=c++14 -Wno-unused-parameter  -Wl,-O1 -Wl,--as-needed   -m64 -nodefaultlibs -Wl,-z,text -Wl,--version-script,/var/tmp/portage/sys-libs/compiler-rt-sanitizers-10.0.1/work/compiler-rt_build/lib/hwasan/clang_rt.hwasan-dynamic-x86_64.vers -shared -Wl,-soname,libclang_rt.hwasan-x86_64.so -o lib/clang/10.0.1/lib/linux/libclang_rt.hwasan-x86_64.so lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_allocator.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_dynamic_shadow.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_exceptions.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_interceptors.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_interceptors_vfork.S.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_linux.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_memintrinsics.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_poisoning.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_report.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_setjmp.S.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_tag_mismatch_aarch64.S.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_thread.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_thread_list.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_type_test.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan_new_delete.cpp.o lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_linux.cpp.o lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_mac.cpp.o lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_win.cpp.o lib/interception/CMakeFiles/RTInterception.x86_64.dir/interception_type_test.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_allocator.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_common.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_deadlock_detector1.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_deadlock_detector2.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_errno.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_file.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_flags.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_flag_parser.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_fuchsia.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_libc.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_libignore.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_linux_s390.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_mac.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_netbsd.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_openbsd.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_persistent_allocator.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_freebsd.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_linux.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_netbsd.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_openbsd.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_posix.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_platform_limits_solaris.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_posix.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_printf.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_common.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_bsd.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_linux.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_mac.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_procmaps_solaris.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_rtems.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_solaris.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_stoptheworld_mac.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_suppressions.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_tls_get_addr.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_thread_registry.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_type_traits.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_win.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.x86_64.dir/sanitizer_termination.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_common_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_allocator_checks.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_linux_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_mac_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_posix_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_stoptheworld_linux_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.x86_64.dir/sanitizer_stoptheworld_netbsd_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sancov_flags.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_fuchsia.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_libcdep_new.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.x86_64.dir/sanitizer_coverage_win_sections.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_allocator_report.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stackdepot.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_printer.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_stacktrace_sparc.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_libbacktrace.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_mac.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_markup.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_posix_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_report.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_symbolizer_win.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_unwind_linux_libcdep.cpp.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.x86_64.dir/sanitizer_unwind_win.cpp.o lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_diag.cpp.o lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_init.cpp.o lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_flags.cpp.o lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_handlers.cpp.o lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_monitor.cpp.o lib/ubsan/CMakeFiles/RTUbsan.x86_64.dir/ubsan_value.cpp.o lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_handlers_cxx.cpp.o lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash.cpp.o lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash_itanium.cpp.o lib/ubsan/CMakeFiles/RTUbsan_cxx.x86_64.dir/ubsan_type_hash_win.cpp.o lib/hwasan/CMakeFiles/RTHwasan_dynamic_version_script_dummy.x86_64.dir/dummy.cpp.o  -lstdc++ -lgcc_s -lc -ldl -lrt -lm -lpthread && :
FAILED: lib/clang/10.0.1/lib/linux/libclang_rt.hwasan-x86_64.so 
(...)
/usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: lib/hwasan/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/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: nonrepresentable section on output
clang-10: error: linker command failed with exit code 1 (use -v to see invocation)

...but above I can see
[325/558] /usr/lib/llvm/10/bin/x86_64-pc-linux-gnu-clang++ -DHWASAN_WITH_INTERCEPTORS=1 -I/var/tmp/portage/sys-libs/compiler-rt-sanitizers-10.0.1/work/compiler-rt/lib/hwasan/..  -O2 -pipe -march=native -fomit-frame-pointer -Wall -std=c++14 -Wno-unused-parameter    -m64 -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -fno-rtti -fPIC -ffreestanding -ftls-model=initial-exec -MD -MT lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan.cpp.o -MF lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan.cpp.o.d -o lib/hwasan/CMakeFiles/RTHwasan_dynamic.x86_64.dir/hwasan.cpp.o -c /var/tmp/portage/sys-libs/compiler-rt-sanitizers-10.0.1/work/compiler-rt/lib/hwasan/hwasan.cpp

so 'fPIC' is used, I can't see what's going wrong here.

Thanks for your help.
Comment 1 Raimund 2020-08-05 13:28:27 UTC
Created attachment 653226 [details]
build.log
Comment 2 Raimund 2020-08-05 13:29:36 UTC
Created attachment 653228 [details]
environment
Comment 3 Raimund 2020-08-05 13:30:54 UTC
Created attachment 653230 [details]
emerge --info
Comment 4 Raimund 2020-10-25 20:08:00 UTC
Error occurred due to outdated binutils (2.32).
See https://bugs.llvm.org/show_bug.cgi?id=42994 and
https://sourceware.org/bugzilla/show_bug.cgi?id=24458

Sorry for causing inconvenience.