aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-12-06 21:18:31 -0800
committerFangrui Song <maskray@google.com>2019-12-13 09:23:36 -0800
commit69d10d282e5896821e16d4bc5dd190adc0131520 (patch)
treed1ce5e36ad1d4fff86d640584c6ce056db4dcdf5 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parented4618edb35688567fcf107785776e27028f4062 (diff)
downloadllvm-69d10d282e5896821e16d4bc5dd190adc0131520.zip
llvm-69d10d282e5896821e16d4bc5dd190adc0131520.tar.gz
llvm-69d10d282e5896821e16d4bc5dd190adc0131520.tar.bz2
[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/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions