rust/tests/run-make
Zalathar 6af9fef085 coverage: Emit the filenames section before encoding per-function mappings
Most coverage metadata is encoded into two sections in the final executable.
The `__llvm_covmap` section mostly just contains a list of filenames, while the
`__llvm_covfun` section contains encoded coverage maps for each instrumented
function.

The catch is that each per-function record also needs to contain a hash of the
filenames list that it refers to. Historically this was handled by assembling
most of the per-function data into a temporary list, then assembling the
filenames buffer, then using the filenames hash to emit the per-function data,
and then finally emitting the filenames table itself.

However, now that we build the filenames table up-front (via a separate
traversal of the per-function data), we can hash and emit that part first, and
then emit each of the per-function records immediately after building. This
removes the awkwardness of having to temporarily store nearly-complete
per-function records.
2023-10-22 23:17:15 +11:00
..
a-b-a-linker-guard
alloc-no-oom-handling
alloc-no-rc
alloc-no-sync
allocator-shim-circular-deps
allow-non-lint-warnings-cmdline
allow-warnings-cmdline-stability
archive-duplicate-names
arguments-non-c-like-enum
atomic-lock-free
bare-outfile
branch-protection-check-IBT
c-dynamic-dylib
c-dynamic-rlib
c-link-to-rust-dylib
c-link-to-rust-staticlib
c-link-to-rust-va-list-fn
c-static-dylib
c-static-rlib
c-unwind-abi-catch-lib-panic
c-unwind-abi-catch-panic
cat-and-grep-sanity-check
cdylib
cdylib-dylib-linkage
cdylib-fewer-symbols
codegen-options-parsing
comment-section Support .comment section like GCC/Clang (!llvm.ident) 2023-07-21 22:01:50 +02:00
compile-stdin
compiler-lookup-paths
compiler-lookup-paths-2
compiler-rt-works-on-mingw
compressed-debuginfo tests: use warning output from rustc to catch missing compression 2023-09-08 11:30:24 -04:00
const_fn_mir tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
const-prop-lint
core-no-fp-fmt-parse
core-no-oom-handling
coverage-llvmir coverage: Emit the filenames section before encoding per-function mappings 2023-10-22 23:17:15 +11:00
crate-data-smoke
crate-hash-rustc-version
crate-name-priority
cross-lang-lto
cross-lang-lto-clang
cross-lang-lto-pgo-smoketest
cross-lang-lto-upstream-rlibs
CURRENT_RUSTC_VERSION
debug-assertions
debugger-visualizer-dep-info
dep-graph
dep-info
dep-info-doesnt-run-much
dep-info-spaces
doctests-keep-binaries
doctests-runtool
dump-ice-to-disk Use YYYY-MM-DDTHH_MM_SS as datetime format for ICE dump files 2023-10-17 17:31:47 +00:00
dump-mono-stats
duplicate-output-flavors
dylib-chain
emit
emit-named-files
emit-path-unhashed Fix tests 2023-09-10 15:50:48 +00:00
emit-shared-files
emit-stack-sizes Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
emit-to-stdout
env-dep-info
error-found-staticlib-instead-crate
error-writing-dependencies
exit-code On nightly, dump ICE backtraces to disk 2023-07-19 14:10:07 +00:00
export-executable-symbols
extern-diff-internal-name
extern-flag-disambiguates
extern-flag-fun
extern-flag-pathless Verify that all crate sources are in sync 2023-07-19 14:47:05 +00:00
extern-flag-rename-transitive
extern-fn-explicit-align extern-fn-explicit-align test: remove unnecessary derives 2023-07-14 16:22:29 -04:00
extern-fn-generic
extern-fn-mangle
extern-fn-reachable
extern-fn-struct-passing-abi i686-windows: pass arguments with requested alignment > 4 indirectly 2023-07-10 19:19:38 -04:00
extern-fn-with-extern-types
extern-fn-with-packed-struct
extern-fn-with-union
extern-multiple-copies
extern-multiple-copies2
extern-overrides-distribution
extra-filename-with-temp-outputs
fmt-write-bloat
forced-unwind-terminate-pof
foreign-double-unwind
foreign-exceptions
foreign-rust-exceptions
fpic
glibc-staticlib-args
hir-tree
inaccessible-temp-dir
include_bytes_deps
incr-add-rust-src-component
incr-foreign-head-span Validate crate name in CLI option --extern 2023-09-20 18:50:40 +02:00
incr-prev-body-beyond-eof
incremental-debugger-visualizer
incremental-session-fail
inline-always-many-cgu
interdependent-c-libraries
intrinsic-unreachable Automatically enable cross-crate inlining for small functions 2023-10-17 19:53:51 -04:00
invalid-library
invalid-so
invalid-staticlib
issue64319
issue-7349
issue-10971-temps-dir
issue-11908
issue-14500
issue-14698
issue-15460
issue-18943
issue-20626
issue-22131
issue-24445
issue-25581
issue-26006
issue-26092
issue-28595
issue-28766
issue-30063
issue-33329
issue-35164
issue-36710
issue-37839
issue-37893
issue-38237
issue-40535
issue-46239
issue-47384
issue-47551
issue-51671
issue-53964
issue-64153
issue-68794-textrel-on-minimal-lib
issue-69368
issue-83045
issue-83112-incr-test-moved-file
issue-84395-lto-embed-bitcode
issue-85019-moved-src-dir
issue-85401-static-mir
issue-85441
issue-88756-default-output Delete obsolete --disable-per-crate-search rustdoc flag 2023-09-20 22:09:48 -07:00
issue-96498
issue-97463-abi-param-passing
issue-107094
issue-109934-lto-debuginfo
jobserver-error
libs-through-symlinks
libtest-json Change default panic handler message format. 2023-07-29 11:42:50 +02:00
libtest-junit Change default panic handler message format. 2023-07-29 11:42:50 +02:00
libtest-thread-limit
link-arg
link-args-order
link-cfg
link-dedup
link-path-order
linkage-attr-on-static
llvm-ident Support .comment section like GCC/Clang (!llvm.ident) 2023-07-21 22:01:50 +02:00
llvm-outputs
long-linker-command-lines
long-linker-command-lines-cmd-exe
longjmp-across-rust
ls-metadata Fix tests 2023-09-10 15:50:48 +00:00
lto-dylib-dep
lto-empty
lto-linkage-used-attr Add a test for #108030 2023-09-11 22:01:55 +08:00
lto-no-link-whole-rlib
lto-readonly-lib
lto-smoke
lto-smoke-c
macos-deployment-target Raise minimum supported macOS to 10.12 2023-09-23 19:14:25 -05:00
macos-fat-archive
manual-crate-name
manual-link
many-crates-but-no-match
metadata-dep-info tests/run-make: Move RUSTC_TEST_OP to tools.mk 2023-10-07 08:30:40 +02:00
metadata-flag-frobs-symbols
min-global-align
mingw-export-call-convention
mismatching-target-triples
missing-crate-dependency
mixing-deps
mixing-formats
mixing-libs Verify that all crate sources are in sync 2023-07-19 14:47:05 +00:00
msvc-opt-minsize
multiple-emits
native-link-modifier-bundle
native-link-modifier-verbatim-linker
native-link-modifier-verbatim-rustc
native-link-modifier-whole-archive
no-alloc-shim
no-builtins-attribute Add the no-builtins attribute to functions when no_builtins is applied at the crate level. 2023-07-18 22:15:47 +08:00
no-builtins-lto
no-cdylib-as-rdylib Verify that all crate sources are in sync 2023-07-19 14:47:05 +00:00
no-duplicate-libs
no-input-file
no-intermediate-extras
obey-crate-type-flag
optimization-remarks-dir Add rustc option to output LLVM optimization remarks to YAML files 2023-07-02 13:41:36 +02:00
optimization-remarks-dir-pgo ignore-cross-compile on optimization-remarks-dir-pgo test 2023-08-18 09:41:08 +02:00
output-filename-conflicts-with-directory
output-filename-overwrites-input Fix tests 2023-09-10 15:50:48 +00:00
output-type-permutations
output-with-hyphens
override-aliased-flags
overwrite-input tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
panic-abort-eh_frame Run AbortUnwindingCalls after generator transform 2023-08-18 13:51:42 +01:00
panic-impl-transitive
pass-linker-flags
pass-linker-flags-from-dep
pass-non-c-like-enum-to-c
pdb-buildinfo-cl-cmd Add missing Debuginfo to PDB debug file on windows. 2023-09-08 00:28:40 +02:00
pgo-branch-weights ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
pgo-gen ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
pgo-gen-lto ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
pgo-gen-no-imp-symbols
pgo-indirect-call-promotion ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
pgo-use ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
pointer-auth-link-with-c ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
prefer-dylib
prefer-rlib
pretty-print-to-file
pretty-print-with-dep-file Fix missing dependency file with -Zunpretty 2023-08-04 20:13:40 +02:00
print-calling-conventions
print-cfg Stabilize PATH option for --print KIND=PATH 2023-09-07 15:07:30 +02:00
print-native-static-libs De-duplicate consecutive libs when printing native-static-libs 2023-07-12 20:04:30 +02:00
print-target-list
profile ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
prune-link-args
raw-dylib-alt-calling-convention tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
raw-dylib-c
raw-dylib-cross-compilation
raw-dylib-custom-dlltool
raw-dylib-import-name-type tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
raw-dylib-inline-cross-dylib tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
raw-dylib-link-ordinal tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
raw-dylib-stdcall-ordinal tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
redundant-libs
relocation-model
relro-levels
remap-path-prefix Test -Zremap-path-scope=split-debuginfo with -Csplit-debuginfo=packed 2023-10-17 10:11:31 +02:00
remap-path-prefix-dwarf Adjust tests for MacOS having different -Csplit-debuginfo default 2023-10-17 10:11:31 +02:00
repr128-dwarf
reproducible-build
reproducible-build-2
resolve-rename
return-non-c-like-enum
return-non-c-like-enum-from-c
rlib-chain
rlib-format-packed-bundled-libs
rlib-format-packed-bundled-libs-2
rlib-format-packed-bundled-libs-3 stabilize combining +bundle and +whole-archive link modifiers 2023-08-15 15:51:18 -05:00
rmeta-preferred Rewrite rmeta-rpass test to work with the new check for all crate sources being in sync 2023-07-19 14:47:06 +00:00
rust-lld add end-to-end test 2023-06-30 21:13:24 +00:00
rustc-macro-dep-files
rustdoc-determinism
rustdoc-error-lines
rustdoc-io-error
rustdoc-map-file
rustdoc-output-path
rustdoc-scrape-examples-invalid-expr
rustdoc-scrape-examples-macros
rustdoc-scrape-examples-multiple
rustdoc-scrape-examples-ordering
rustdoc-scrape-examples-remap
rustdoc-scrape-examples-test
rustdoc-scrape-examples-whitespace
rustdoc-shared-flags
rustdoc-target-spec-json-path
rustdoc-themes rustdoc: merge theme css into rustdoc.css 2023-09-15 07:40:17 -07:00
rustdoc-verify-output-files
rustdoc-with-out-dir-option
rustdoc-with-output-option
rustdoc-with-short-out-dir-option
sanitizer-cdylib-link
sanitizer-dylib-link
sanitizer-staticlib-link
separate-link
separate-link-fail
sepcomp-cci-copies
sepcomp-inlining
sepcomp-separate
share-generics-dylib
short-ice Fix dump-ice-to-disk and short-ice tests when librustc-driver is dynamically linked 2023-07-20 14:31:56 +02:00
silly-file-names tests/run-make: Move RUSTC_TEST_OP to tools.mk 2023-10-07 08:30:40 +02:00
simd-ffi
simple-dylib
simple-rlib
split-debuginfo [RFC 3127 - Trim Paths]: Adjust tests for -Zremap-path-scope 2023-10-17 10:11:31 +02:00
stable-symbol-names
static-dylib-by-default
static-extern-type
static-pie
static-unwinding
staticlib-blank-lib
staticlib-dylib-linkage
std-core-cycle
stdin-non-utf8
suspicious-library
symbol-visibility
symbols-include-type-name
symlinked-extern
symlinked-libraries
symlinked-rlib
sysroot-crates-are-unstable
target-cpu-native
target-specs
target-without-atomic-cas
test-benches
test-harness
thumb-none-cortex-m
thumb-none-qemu
track-path-dep-info
track-pgo-dep-info
translation
type-mismatch-same-crate-name
unknown-mod-stdin Mention the syntax for use on mod foo; if foo doesn't exist 2023-10-21 15:56:01 +00:00
unstable-flag-required
use-extern-for-plugins
use-suggestions-rust-2018
used
used-cdylib-macos
valid-print-requests
version
volatile-intrinsics
wasm-abi
wasm-custom-section
wasm-custom-sections-opt
wasm-exceptions-nostd add run-make test for wasm-exceptions 2023-07-01 20:24:15 +02:00
wasm-export-all-symbols
wasm-import-module
wasm-override-linker add test for wasm linker override=clang 2023-10-09 11:42:23 +09:00
wasm-panic-small
wasm-spurious-import
wasm-stringify-ints-small
wasm-symbols-different-module
wasm-symbols-not-exported
wasm-symbols-not-imported
weird-output-filenames
windows-binary-no-external-deps
windows-spawn
windows-subsystem
x86_64-fortanix-unknown-sgx-lvi
git_clone_sha1.sh
tools.mk tests/run-make: Move RUSTC_TEST_OP to tools.mk 2023-10-07 08:30:40 +02:00