Go to file
Martin Storsjo 98ff9f845d [COFF] Sort .reloc before all other discardable sections
If a binary is stripped, which can remove discardable sections (except
for the .reloc section, which also is marked as discardable as it isn't
loaded at runtime, only read by the loader), the .reloc section should
be first of them, in order not to create gaps in the image.

Previously, binaries with relocations were broken if they were stripped
by GNU binutils strip. Trying to execute such binaries produces an error
about "xx is not a valid win32 application".

This fixes GNU binutils bug 23348.

Prior to SVN r329370 (which didn't intend to have functional changes),
the code for moving discardable sections to the end didn't clearly
express how other discardable sections should be ordered compared to
.reloc, but the change retained the exact same end result as before.

After SVN r329370, the code (and comments) more clearly indicate that
it tries to make the .reloc section the absolutely last one; this patch
changes that.

This matches how GNU binutils ld sorts .reloc compared to dwarf debug
info sections.

Differential Revision: https://reviews.llvm.org/D49351

Signed-off-by: Martin Storsjö <martin@martin.st>
llvm-svn: 337598
2018-07-20 18:43:35 +00:00
clang [CUDA] Provide integer SIMD functions for CUDA-9.2 2018-07-20 17:44:34 +00:00
clang-tools-extra [clangd] FuzzyMatch exposes an API for its word segmentation. NFC 2018-07-20 08:01:37 +00:00
compiler-rt On Darwin switch from the `VM_MEMORY_ANALYSIS_TOOL` VM tag to 2018-07-20 17:07:35 +00:00
debuginfo-tests Revert "[CMake] Sort dependency list and add safestack to it" 2018-07-18 20:10:43 +00:00
libclc atom: Use volatile pointers for cl_khr_{global,local}_int32_{base,extended}_atomics 2018-06-21 19:27:39 +00:00
libcxx adjust incorrect comment 2018-07-20 08:36:45 +00:00
libcxxabi Merge changes to ItaniumDemangle over to libcxxabi. 2018-07-20 17:16:49 +00:00
libunwind The semantics of DW_CFA_GNU_args_size have changed subtile over the 2018-07-17 19:00:51 +00:00
lld [COFF] Sort .reloc before all other discardable sections 2018-07-20 18:43:35 +00:00
lldb Defend LoadImageUsingPaths against a path list 2018-07-20 01:20:18 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm Make check-llvm depend on llvm-undname 2018-07-20 18:42:19 +00:00
openmp Block library shutdown until unreaped threads finish spin-waiting 2018-07-19 19:17:00 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [DependenceInfo] Use isl++ to replace foreach_set with for loop 2018-07-17 07:08:06 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.