diff options
author | Rui Ueyama <ruiu@google.com> | 2017-02-28 22:42:49 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2017-02-28 22:42:49 +0000 |
commit | 13ed0b691e554595afd1e8b130709e292c4599e3 (patch) | |
tree | 80b01d0fed524a17dc75fb28db017cb87c888a86 /lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py | |
parent | 8dabd7e7de442c25eb72d1fe7bf56b2719dbaaa7 (diff) | |
download | bcm5719-llvm-13ed0b691e554595afd1e8b130709e292c4599e3.tar.gz bcm5719-llvm-13ed0b691e554595afd1e8b130709e292c4599e3.zip |
ELF ICF: Merge only functions.
Previously, LLD merged all read-only sections. So the following
program prints out "true" if -icf=all is specified.
static const int foo = 1;
static const int bar = 1;
int main() { printf("%s\n", &foo == &bar ? "true" : "false"); }
This is somewhat counter-intuitive, and it actually caused nasty issues.
One example is https://bugs.chromium.org/p/chromium/issues/detail?id=682773#c24.
This patch changes the way how it works. Now ICF merges only functions
(i.e. executable sections).
Differential Revision: https://reviews.llvm.org/D30365
llvm-svn: 296534
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/symbol-context/TestSymbolContext.py')
0 files changed, 0 insertions, 0 deletions