[PATCH] D97436: [lld-link] Fix addrsig symbols merging in ICF.
Zequan Wu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 26 20:36:29 PST 2021
zequanwu added a reviewer: pcc.
zequanwu added a comment.
In D97436#2591761 <https://reviews.llvm.org/D97436#2591761>, @pcc wrote:
> As far as I know the current behavior is that `/opt:icf` gives you full ICF for executable sections and safe ICF for non-executable sections. This is more than what MSVC does, which is full ICF for executable sections and no ICF for non-executable sections. I think it makes sense to add a mode that gives you full ICF for non-executable sections, but the behavior of `/opt:icf` should be preserved.
Initially, we found <https://bugs.chromium.org/p/chromium/issues/detail?id=1169276> that the current behavior of `/opt:icf` merges executable sections even if they are in address-significant table, which obviously is a bug. This patch is trying to fix it and adding a `/opt:safeicf` to do safe icf for both executable and non-executable sections. The behavior of `/opt:icf` is preserved.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97436/new/
https://reviews.llvm.org/D97436
More information about the llvm-commits
mailing list