Issue metadata
Sign in to add a comment
|
crosvm does not build with sanitizer flags |
||||||||||||||||||||||
Issue descriptionFound this issue when trying to build a fuzzer build that includes vm_host_tools. https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1407457 It pulls in crosvm but crosvm does not build with sanitizers enabled. error: linking with `x86_64-cros-linux-gnu-clang` failed: exit code: 1 | = note: "x86_64-cros-linux-gnu-clang" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib" "/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/crosvm-8ae2ca362ae209fc.crosvm.6az6g278-cgu.0.rcgu.o" "-o" "/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/crosvm-8ae2ca362ae209fc" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" "-L" "/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps" "-L" "/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/release/deps" "-L" "/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/build/x86_64-644384bdd019a148/out" "-L" "/usr/lib64/rust/rustlib/x86_64-cros-linux-gnu/lib" "-L" "/usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/temp/rustcctJ6Cn/libx86_64-01406be2e2eb90e0.rlib" "-Wl,--start-group" "/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/temp/rustcctJ6Cn/libstd-b86dd14ec2a0d983.rlib" "-Wl,--end-group" "/usr/lib64/rust/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-7b34a893930d7f9b.rlib" "-Wl,-Bdynamic" "-lc" "-lminijail" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" = note: host_cpuid.c:8: error: undefined reference to '__sancov_lowest_stack' host_cpuid.c:9: error: undefined reference to '__asan_report_store4' host_cpuid.c:9: error: undefined reference to '__asan_report_store4' host_cpuid.c:9: error: undefined reference to '__asan_report_store4' host_cpuid.c:9: error: undefined reference to '__asan_report_store4' /build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/temp/rustcctJ6Cn/libx86_64-01406be2e2eb90e0.rlib(host_cpuid.o):host_cpuid.c:function sancov.module_ctor: error: undefined reference to '__sanitizer_cov_8bit_counters_init' /build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/temp/rustcctJ6Cn/libx86_64-01406be2e2eb90e0.rlib(host_cpuid.o):host_cpuid.c:function sancov.module_ctor: error: undefined reference to '__sanitizer_cov_pcs_init' /build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/temp/rustcctJ6Cn/libx86_64-01406be2e2eb90e0.rlib(host_cpuid.o):host_cpuid.c:function asan.module_ctor: error: undefined reference to '__asan_init' /build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/temp/rustcctJ6Cn/libx86_64-01406be2e2eb90e0.rlib(host_cpuid.o):host_cpuid.c:function asan.module_ctor: error: undefined reference to '__asan_version_mismatch_check_v8' clang-8: error: linker command failed with exit code 1 (use -v to see invocation) error: aborting due to previous error error: Could not compile `crosvm`. Caused by: process didn't exit successfully: `rustc --crate-name crosvm src/main.rs --color always --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C lto -C overflow-checks=on -C metadata=8ae2ca362ae209fc -C extra-filename=-8ae2ca362ae209fc --out-dir /build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps --target x86_64-cros-linux-gnu -C linker=x86_64-cros-linux-gnu-clang -L dependency=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps -L dependency=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/release/deps --extern arch=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libarch-aad6f2900ae2b3b8.rlib --extern bit_field=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libbit_field-da2b78f4c2e749f9.rlib --extern byteorder=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libbyteorder-c0f6fa0bb8e6a337.rlib --extern data_model=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libdata_model-ac796b1f87694777.rlib --extern devices=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libdevices-94d4f3841d1ab934.rlib --extern io_jail=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libio_jail-5ab01f5cf7205d24.rlib --extern kernel_cmdline=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libkernel_cmdline-c0da911019b85ff4.rlib --extern kernel_loader=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libkernel_loader-89118bc5bfb8da70.rlib --extern kvm=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libkvm-286ad55f121d1e6f.rlib --extern kvm_sys=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libkvm_sys-37a58be5701f8ad9.rlib --extern libc=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/liblibc-782608af3352e195.rlib --extern msg_socket=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libmsg_socket-857011dd25b0aa51.rlib --extern net_util=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libnet_util-d8e59aa3c2665dc8.rlib --extern p9=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libp9-0a00df84ab8498ad.rlib --extern qcow=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libqcow-ef4ab81eeec6c0d3.rlib --extern rand=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/librand-7e59ed4217de77b9.rlib --extern resources=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libresources-b0f9970fcb60bc6a.rlib --extern sync=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libsync-34a04cbfbcf168d1.rlib --extern sys_util=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libsys_util-cf06ff147ce170a5.rlib --extern vhost=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libvhost-a17477ba31c50d4f.rlib --extern vm_control=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libvm_control-3730317699033f86.rlib --extern x86_64=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/deps/libx86_64-01406be2e2eb90e0.rlib -L native=/build/amd64-generic/tmp/portage/chromeos-base/crosvm-0.0.1-r277/work/x86_64-cros-linux-gnu/release/build/x86_64-644384bdd019a148/out` (exit code: 1)
,
Jan 17
(6 days ago)
,
Jan 18
(5 days ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/5e12585c3206fb12c59687554684bb644f03af5c commit 5e12585c3206fb12c59687554684bb644f03af5c Author: Manoj Gupta <manojgupta@google.com> Date: Fri Jan 18 04:20:32 2019 cros-sanitizers: Add a helper function for sanitizer flags. Add cros-rust-setup-sanitizers to add rust build flags for sanitizers. Update ecargo_build_fuzzers in cros-rust to call the new helper. BUG=chromium:921304 TEST=USE=asan emerge-amd64-generic crosvm works. Change-Id: Ie4903f8ba03bdf3f5b6b1407720362df2e8f322a Reviewed-on: https://chromium-review.googlesource.com/1407825 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/5e12585c3206fb12c59687554684bb644f03af5c/eclass/cros-sanitizers.eclass [modify] https://crrev.com/5e12585c3206fb12c59687554684bb644f03af5c/eclass/cros-rust.eclass |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by manojgupta@chromium.org
, Jan 12