Auto merge of #109945 - Kobzol:llvm-bolt-gnu-stack, r=nikic

Remove the use of `-use-gnu-stack` when BOLTing LLVM

This flag was (counterintuitively) removing the `GNU_STACK` ELF attribute, which caused the optimized `libLLVM.so` file to be flagged as having an executable stack on SELinux.

Removing the flag might cause issues with `strip`. I'm not aware that we're stripping `libLLVM.so` though. Does it happen anywhere?

Fixes: https://github.com/rust-lang/rust/issues/105783
This commit is contained in:
bors 2023-04-05 08:17:39 +00:00
commit 90a9f69c80

View File

@ -45,8 +45,6 @@ pub fn optimize_with_bolt(path: &Path, profile_path: &Path, output_path: &Path)
.arg("-split-all-cold")
// Move jump tables to a separate section
.arg("-jump-tables=move")
// Use GNU_STACK program header for new segment (workaround for issues with strip/objcopy)
.arg("-use-gnu-stack")
// Fold functions with identical code
.arg("-icf=1")
// Update DWARF debug info in the final binary