Skip to content

tests/ui/sanitizer/dataflow.rs fails to link #143727

Open
@tmiasko

Description

@tmiasko
$ cat bootstrap.toml 
build.sanitizers = true
rust.new-symbol-mangling = true
$ ./x.py test
...
Testing stage1 compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu)
...

failures:

---- [ui] tests/ui/sanitizer/dataflow.rs stdout ----

error: test compilation failed although it shouldn't!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/home/tm/src/rust/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" "/home/tm/src/rust/tests/ui/sanitizer/dataflow.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/home/tm/.cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/home/tm/src/rust/vendor" "--sysroot" "/home/tm/src/rust/build/x86_64-unknown-linux-gnu/stage1" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "-O" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/home/tm/src/rust/build/x86_64-unknown-linux-gnu/test/ui/sanitizer/dataflow/a" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/home/tm/src/rust/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Zsanitizer=dataflow" "-Zsanitizer-dataflow-abilist=/home/tm/src/rust/tests/ui/sanitizer/dataflow-abilist.txt"
stdout: none
--- stderr -------------------------------
error: linking with `cc` failed: exit status: 1
   |
   = note:  "cc" "-m64" "/tmp/rustcQo9YrH/symbols.o" "-Wl,-Bstatic" "-Wl,--whole-archive" "-Wl,<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc-dev_rt.dfsan.a" "-Wl,--no-whole-archive" "<1 object files omitted>" "-Wl,--as-needed" "-Wl,-Bdynamic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-d4aafc67263e85ff.so" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-*.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcQo9YrH/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/tm/src/rust/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/tm/src/rust/build/x86_64-unknown-linux-gnu/test/ui/sanitizer/dataflow/a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-debug" "-nodefaultlibs" "-Wl,-rpath,$ORIGIN/../../../../stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib,--enable-new-dtags,-z,origin"
   = note: some arguments are omitted. use `--verbose` to show all linker arguments
   = note: /usr/bin/ld: /home/tm/src/rust/build/x86_64-unknown-linux-gnu/test/ui/sanitizer/dataflow/a.dataflow.a934cfd234e75439-cgu.0.rcgu.o: in function `<&T as core::fmt::Debug>::fmt':
           dataflow.a934cfd234e75439-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5f23a8ae4c7dbb97E.dfsan+0x5f): undefined reference to `<u8 as core::fmt::Display>::fmt'
           /usr/bin/ld: dataflow.a934cfd234e75439-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5f23a8ae4c7dbb97E.dfsan+0x6e): undefined reference to `<u8 as core::fmt::LowerHex>::fmt'
           /usr/bin/ld: dataflow.a934cfd234e75439-cgu.0:(.text._ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h5f23a8ae4c7dbb97E.dfsan+0x7d): undefined reference to `<u8 as core::fmt::UpperHex>::fmt'
           /usr/bin/ld: /home/tm/src/rust/build/x86_64-unknown-linux-gnu/test/ui/sanitizer/dataflow/a.dataflow.a934cfd234e75439-cgu.0.rcgu.o: in function `core::panicking::assert_failed':
           dataflow.a934cfd234e75439-cgu.0:(.text.unlikely._ZN4core9panicking13assert_failed17h67f5e71f3844d9ddE+0x75): undefined reference to `core::panicking::assert_failed_inner'
           /usr/bin/ld: /home/tm/src/rust/build/x86_64-unknown-linux-gnu/test/ui/sanitizer/dataflow/a.dataflow.a934cfd234e75439-cgu.0.rcgu.o: in function `dataflow::main':
           dataflow.a934cfd234e75439-cgu.0:(.text._ZN8dataflow4main17h053d7a3d932e2846E.dfsan+0x2bb): undefined reference to `core::panicking::assert_failed::<i32, i32>'
           /usr/bin/ld: dataflow.a934cfd234e75439-cgu.0:(.text._ZN8dataflow4main17h053d7a3d932e2846E.dfsan+0x30d): undefined reference to `core::panicking::assert_failed::<i32, i32>'
           /usr/bin/ld: dataflow.a934cfd234e75439-cgu.0:(.text._ZN8dataflow4main17h053d7a3d932e2846E.dfsan+0x35f): undefined reference to `core::panicking::assert_failed::<i32, i32>'
           /usr/bin/ld: dataflow.a934cfd234e75439-cgu.0:(.text._ZN8dataflow4main17h053d7a3d932e2846E.dfsan+0x3b1): undefined reference to `core::panicking::assert_failed::<i32, i32>'
           /usr/bin/ld: /home/tm/src/rust/build/x86_64-unknown-linux-gnu/test/ui/sanitizer/dataflow/a.dataflow.a934cfd234e75439-cgu.0.rcgu.o: in function `main':
           dataflow.a934cfd234e75439-cgu.0:(.text.main+0x54): undefined reference to `std::rt::lang_start_internal'
           collect2: error: ld returned 1 exit status
           
   = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
   = note: use the `-l` flag to specify native libraries to link

error: aborting due to 1 previous error
------------------------------------------

I expected to see this happen: all tests pass.

Meta

Tested on 32cd911.

cc @rcvalle

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-sanitizersArea: Sanitizers for correctness and code qualityA-testsuiteArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.needs-triageThis issue may need triage. Remove it if it has been sufficiently triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions