freebsd-dev/contrib/llvm/tools
Ed Maste 3dd7b92917 lld: do not round up PT_GNU_RELRO p_memsz
The change was made to support glibc and believed to be a no-op on
FreeBSD, but that is not the case for architectures with multiple page
sizes, such as arm64. The relro p_memsz header was rounded up to the
default maximum page size (64K). When 4K pages are in use, multiple
pages beyond the final PT_LOAD segment had their permissions changed to
read-only after application of relocations and copy relocations, which
led to a segfault in certain cases.

This reverts upstream r290986. I have started a discussion about the
upstream fix on the LLVM mailing list.

Reported by:	andrew
Sponsored by:	The FreeBSD Foundation
2017-01-27 16:53:53 +00:00
..
bugpoint Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
clang Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch 2017-01-24 19:56:22 +00:00
llc Merge llvm, clang, lld and lldb trunk r291274, and resolve conflicts. 2017-01-06 20:24:06 +00:00
lld lld: do not round up PT_GNU_RELRO p_memsz 2017-01-27 16:53:53 +00:00
lldb Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00
lli Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-ar Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-as Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-bcanalyzer Merge llvm, clang, lld and lldb trunk r291012, and resolve conflicts. 2017-01-04 22:19:42 +00:00
llvm-cov Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-cxxdump Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-cxxfilt Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch 2017-01-24 19:56:22 +00:00
llvm-diff Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
llvm-dis Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-dwarfdump Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-extract Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-link Merge llvm, clang, lld and lldb trunk r291012, and resolve conflicts. 2017-01-04 22:19:42 +00:00
llvm-lto Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-lto2 Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-mc Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-modextract Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-nm Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-objdump Merge llvm, clang, lld and lldb trunk r291476. 2017-01-09 22:32:19 +00:00
llvm-pdbdump Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00
llvm-profdata Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-readobj Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00
llvm-rtdyld Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-stress Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-symbolizer Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-xray Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00
opt Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00