diff options
author | Fangrui Song <maskray@google.com> | 2019-12-06 21:18:31 -0800 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-12-13 09:23:36 -0800 |
commit | 69d10d282e5896821e16d4bc5dd190adc0131520 (patch) | |
tree | d1ce5e36ad1d4fff86d640584c6ce056db4dcdf5 /lldb/packages/Python/lldbsuite/test/python_api/signals/main.cpp | |
parent | ed4618edb35688567fcf107785776e27028f4062 (diff) | |
download | bcm5719-llvm-69d10d282e5896821e16d4bc5dd190adc0131520.tar.gz bcm5719-llvm-69d10d282e5896821e16d4bc5dd190adc0131520.zip |
[ELF] Update st_size when merging a common symbol with a shared symbol
When a common symbol is merged with a shared symbol, increase st_size if
the shared symbol has a larger st_size. At runtime, the executable's
symbol overrides the shared symbol. The shared symbol may be created
from common symbols in a previous link. This rule makes sure we pick
the largest size among all common symbols.
This behavior matches GNU ld. See
https://sourceware.org/bugzilla/show_bug.cgi?id=25236 for discussions.
A shared symbol does not hold alignment constraints. Ignore the
alignment update.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D71161
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/signals/main.cpp')
0 files changed, 0 insertions, 0 deletions