Commit graph

4 commits

Author SHA1 Message Date
Marco Castelluccio
dba9f84dc4 Fix gcc version required by libprofiler_builtins 2017-06-13 20:21:58 +01:00
Marco Castelluccio
8748bdd353 Redefine strdup, open, fdopen as _strdup, _open, _fdopen to avoid linking errors on MSVC 2017-06-12 23:08:57 +01:00
Marco Castelluccio
900ba559b6 Compile WindowsMMap too on MSVC 2017-06-12 23:08:08 +01:00
whitequark
42754ce710 Add profiling support, through the rustc -Z profile flag.
When -Z profile is passed, the GCDAProfiling LLVM pass is added
to the pipeline, which uses debug information to instrument the IR.
After compiling with -Z profile, the $(OUT_DIR)/$(CRATE_NAME).gcno
file is created, containing initial profiling information.
After running the program built, the $(OUT_DIR)/$(CRATE_NAME).gcda
file is created, containing branch counters.

The created *.gcno and *.gcda files can be processed using
the "llvm-cov gcov" and "lcov" tools. The profiling data LLVM
generates does not faithfully follow the GCC's format for *.gcno
and *.gcda files, and so it will probably not work with other tools
(such as gcov itself) that consume these files.
2017-05-01 09:16:20 +00:00