summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Process.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2013-11-20 20:54:18 +0000
committerRui Ueyama <ruiu@google.com>2013-11-20 20:54:18 +0000
commite05b629d39b7836c3a7dea55b6fff92bf15ed07b (patch)
tree889ae47c9125ae6f24d87bc117d622a0728df746 /lldb/source/Target/Process.cpp
parent70f11d7589738186588427ec8134e411ac43bad4 (diff)
downloadbcm5719-llvm-e05b629d39b7836c3a7dea55b6fff92bf15ed07b.tar.gz
bcm5719-llvm-e05b629d39b7836c3a7dea55b6fff92bf15ed07b.zip
Use NativeReferenceIvarsV2 if necessary.
NativeReferenceIvarsV1 cannot handle more than 65535 relocation targets because its field to point to the target table is of type uint16_t. Because of that limitation, the LLD couldn't link a file containing more than 65535 relocations. 65535 is not a big number - the LLD couldn't even link itself with V1. This patch solves the issue by adding NativeReferenceIvarsV2 support. The new structure has more bits for the target table, so it can handle a large number of relocatinos. V2 structure is larger than V1. In order to prevent file bloating, V2 format is used only when the resulting file cannot be represented in V1 format. The writer and the reader support both V1 and V2 formats. Differential Revision: http://llvm-reviews.chandlerc.com/D2217 llvm-svn: 195270
Diffstat (limited to 'lldb/source/Target/Process.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud