diff options
author | Han Shen <shenhan@google.com> | 2018-05-10 20:44:42 +0000 |
---|---|---|
committer | Han Shen <shenhan@google.com> | 2018-05-10 20:44:42 +0000 |
commit | 6c0881c3cdb18b624c5d8a8411e784fcdca36c1f (patch) | |
tree | b32a14d6b91e6bb01c3f68a69ce921c2bcb42500 /llvm/tools/llvm-c-test | |
parent | 5d95f2782d1ac2eeb7bd3fb8a6a9c0fe9340437c (diff) | |
download | bcm5719-llvm-6c0881c3cdb18b624c5d8a8411e784fcdca36c1f.tar.gz bcm5719-llvm-6c0881c3cdb18b624c5d8a8411e784fcdca36c1f.zip |
Mitigate relocation overflow [part 1 of 2].
This CL is to mitigate R_X86_64_PC32 relocation overflow problems for huge binaries that has near 4G allocated sections.
By examining those binaries, there're 2 issues contributes to the problem:
1). huge ".dynsym" and ".dynstr" stands in the way between .rodata and .text
2). _init_array_start/end are placed at 0 if no ".init_array" presents, this causes .text relocation against them become more prone to overflow.
This CL addresses 1st problem (the 2nd will be addressed in another CL.) by assigning a smaller sortrank to .dynsym and .dynstr thus they no longer stand in between.
llvm-svn: 332038
Diffstat (limited to 'llvm/tools/llvm-c-test')
0 files changed, 0 insertions, 0 deletions