aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Anderson <[email protected]>2011-05-05 22:44:28 -0400
committerBrian Anderson <[email protected]>2011-05-10 21:31:14 -0400
commitaa40d61d5d8299ba72b390cabe4994bbf985c14c (patch)
tree9c1ea921aa5382fefbe984f9ccc305d860d6fe06
parentAdd meta info to rustc.rc (diff)
downloadrust-aa40d61d5d8299ba72b390cabe4994bbf985c14c.tar.xz
rust-aa40d61d5d8299ba72b390cabe4994bbf985c14c.zip
Link fuzzer to the rustc crate
-rw-r--r--mk/fuzzer.mk12
-rw-r--r--src/fuzzer/Fuzzer.rs3
-rw-r--r--src/fuzzer/fuzzer.rc1
3 files changed, 14 insertions, 2 deletions
diff --git a/mk/fuzzer.mk b/mk/fuzzer.mk
index d07db91a..b6869323 100644
--- a/mk/fuzzer.mk
+++ b/mk/fuzzer.mk
@@ -5,6 +5,16 @@
FUZZER_CRATE := $(S)src/fuzzer/fuzzer.rc
FUZZER_INPUTS := $(wildcard $(addprefix $(S)src/fuzzer/, *.rs))
-stage2/fuzzer.o: $(FUZZER_CRATE) $(FUZZER_INPUTS) $(SREQ1)
+stage2/fuzzer.o: $(FUZZER_CRATE) $(FUZZER_INPUTS) $(SREQ1) \
+ stage2/$(CFG_RUSTCLIB)
@$(call E, compile: $@)
$(STAGE1) -c -o $@ $<
+
+stage2/fuzzer$(X): stage2/fuzzer.o $(SREQ1)
+ @$(call E, link [gcc]: $@)
+ $(Q)gcc $(CFG_GCC_CFLAGS) stage2/glue.o -o $@ $< \
+ -Lstage2 -Lrustllvm -Lrt -lrustrt -lrustllvm -lstd -lm -lrustc
+ @# dsymutil sometimes fails or prints a warning, but the
+ @# program still runs. Since it simplifies debugging other
+ @# programs, I\'ll live with the noise.
+ -$(Q)$(CFG_DSYMUTIL) $@
diff --git a/src/fuzzer/Fuzzer.rs b/src/fuzzer/Fuzzer.rs
index ea3850b2..60db8ecb 100644
--- a/src/fuzzer/Fuzzer.rs
+++ b/src/fuzzer/Fuzzer.rs
@@ -1,2 +1,3 @@
-fn main() {
+fn main(vec[str] args) {
+ rustc.driver.rustc.main(args);
} \ No newline at end of file
diff --git a/src/fuzzer/fuzzer.rc b/src/fuzzer/fuzzer.rc
index 2f0758bf..abe61696 100644
--- a/src/fuzzer/fuzzer.rc
+++ b/src/fuzzer/fuzzer.rc
@@ -1,6 +1,7 @@
// -*- rust -*-
use std;
+use rustc;
mod Fuzzer;