File: rmake.rs

package info (click to toggle)
rustc 1.90.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, forky, sid
  • size: 925,928 kB
  • sloc: xml: 158,148; javascript: 19,781; sh: 19,174; python: 15,732; ansic: 13,096; cpp: 7,181; asm: 4,376; makefile: 697; lisp: 176; sql: 15
file content (17 lines) | stat: -rw-r--r-- 754 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Identical to sanitizer-dylib-link, but with a cdylib.
// This test builds a shared object, then an executable that links it as a native
// rust library (contrast to an rlib). The shared library and executable both
// are compiled with address sanitizer, and we assert that a fault in the cdylib
// is correctly detected.
// See https://github.com/rust-lang/rust/pull/38699

//@ needs-sanitizer-support
//@ needs-sanitizer-address

use run_make_support::{run_fail, rustc};

fn main() {
    rustc().arg("-g").arg("-Zsanitizer=address").crate_type("cdylib").input("library.rs").run();
    rustc().arg("-g").arg("-Zsanitizer=address").crate_type("bin").input("program.rs").run();
    run_fail("program").assert_stderr_contains("stack-buffer-overflow");
}