Allow to disable thinLTO buffer to support lto-embed-bitcode lld feature Hello This change is to fix issue (https://github.com/rust-lang/rust/issues/84395) in which passing "-lto-embed-bitcode=optimized" to lld when linking rust code via linker-plugin-lto doesn't produce the expected result. Instead of emitting a single unified module into a llvmbc section of the linked elf, it emits multiple submodules. This is caused because rustc emits the BC modules after running llvm `createWriteThinLTOBitcodePass` pass. Which in turn triggers a thinLTO linkage and causes the said issue. This patch allows via compiler flag (-Cemit-thin-lto=<bool>) to select between running `createWriteThinLTOBitcodePass` and `createBitcodeWriterPass`. Note this pattern of selecting between those 2 passes is common inside of LLVM code. The default is to match the old behavior. |
||
|---|---|---|
| .. | ||
| cgu_reuse_tracker.rs | ||
| code_stats.rs | ||
| config.rs | ||
| cstore.rs | ||
| filesearch.rs | ||
| lib.rs | ||
| options.rs | ||
| output.rs | ||
| parse.rs | ||
| search_paths.rs | ||
| session.rs | ||
| utils.rs | ||