]> git.lizzy.rs Git - rust.git/blob - src/test/run-make-fulldeps/sanitizer-cdylib-link/Makefile
35317dca1e824b5a3b8cf3575991d0618d6cea78
[rust.git] / src / test / run-make-fulldeps / sanitizer-cdylib-link / Makefile
1 # needs-sanitizer-support
2 # only-x86_64
3 # only-linux
4
5 -include ../tools.mk
6
7 LOG := $(TMPDIR)/log.txt
8
9 # This test builds a shared object, then an executable that links it as a native
10 # rust library (contrast to an rlib). The shared library and executable both
11 # are compiled with address sanitizer, and we assert that a fault in the cdylib
12 # is correctly detected.
13
14 # See comment in sanitizer-address/Makefile for why this is here
15 EXTRA_RUSTFLAG=-C relocation-model=dynamic-no-pic
16
17 all:
18         $(RUSTC) -g -Z sanitizer=address --crate-type cdylib --target $(TARGET) $(EXTRA_RUSTFLAG) library.rs
19         $(RUSTC) -g -Z sanitizer=address --crate-type bin --target $(TARGET) $(EXTRA_RUSTFLAG) -llibrary program.rs
20         LD_LIBRARY_PATH=$(TMPDIR) $(TMPDIR)/program 2>&1 | $(CGREP) stack-buffer-overflow