diff options
author | Fangrui Song <maskray@google.com> | 2018-06-26 17:04:47 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2018-06-26 17:04:47 +0000 |
commit | 68fa4e8c3407aec92058c560f7a7fc8a36bec0e6 (patch) | |
tree | 3427abaaf25acf677dea0348d1b265f087a46ede /clang/lib/Driver/Compilation.cpp | |
parent | cbd8c76b981b3e73f720a3d5b5c37c7033577812 (diff) | |
download | bcm5719-llvm-68fa4e8c3407aec92058c560f7a7fc8a36bec0e6.tar.gz bcm5719-llvm-68fa4e8c3407aec92058c560f7a7fc8a36bec0e6.zip |
[ELF] Assign RF_EXEC rank even if --no-rosegment or SECTIONS command is used
Summary:
Currently when --no-rosegment is specified or a linker script with SECTIONS command is used,
.rodata (A) .text (AX) are assigned the same rank and .rodata may be placed after .text .
This increases the gap between .text and .bss and can cause pc-relative relocation overflow (e.g. gcc crtbegin.o crtbegin.S have R_X86_64_PC32 relocation from .text to .bss).
This patch makes SingleRoRx affect only segment layout, not section layout. As a consequence, .rodata will be placed before .text regardless of SingleRoRx.
Reviewers: espindola, ruiu, grimar, echristo, javed.absar
Subscribers: emaste, arichardson, llvm-commits
Differential Revision: https://reviews.llvm.org/D48405
llvm-svn: 335627
Diffstat (limited to 'clang/lib/Driver/Compilation.cpp')
0 files changed, 0 insertions, 0 deletions