Go to file
Peter Smith 1811e48b7b [ELF] Fix ARM and Thumb V7PILongThunk overflow behavior.
When the range between the source and target of a V7PILongThunk exceeded an
int32 we would trigger a relocation out of range error for the
R_ARM_MOVT_PREL or R_ARM_THM_MOVT_PREL relocation. This case can happen when
linking the linux kernel as it is loaded above 0xf0000000.

There are two parts to the fix.
- Remove the overflow check for R_ARM_MOVT_PREL or R_ARM_THM_MOVT_PREL. The
ELF for the ARM Architecture document defines these relocations as having no
overflow checking so the check was spurious.
- Use int64_t for the offset calculation, in line with similar thunks so
that PC + (S - P) < 32-bits. This results in less surprising disassembly.

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

llvm-svn: 350836
2019-01-10 16:08:23 +00:00
clang Correct the spelling of helpURI to helpUri. 2019-01-10 13:19:48 +00:00
clang-tools-extra [clang-tidy] Fix case of local variables in modernize-use-nodiscard checker 2019-01-10 11:56:44 +00:00
compiler-rt [compiler-rt][builtins][PowerPC] Implemented __floattitf builtin on PowerPC 2019-01-10 13:23:33 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc cmake: Install libraries to DATADIR from GNUInstallDirs 2019-01-07 20:20:37 +00:00
libcxx [NFC] Always lock free test: add indirection 2019-01-09 23:20:24 +00:00
libcxxabi [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
libunwind Revert "[Sparc] Add Sparc V8 support" 2019-01-10 01:08:31 +00:00
lld [ELF] Fix ARM and Thumb V7PILongThunk overflow behavior. 2019-01-10 16:08:23 +00:00
lldb [opaque pointer types] Remove some calls to generic Type subtype accessors. 2019-01-10 16:07:20 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [opaque pointer types] Remove some calls to generic Type subtype accessors. 2019-01-10 16:07:20 +00:00
openmp [OpenMP][libomptarget] Use shared memory variable for tracking parallel level 2019-01-09 18:30:14 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [CMake] Fix generation of exported targets in build directory 2018-11-06 15:18:17 +00:00
pstl [pstl] Fix compile errors when PARALLEL_POLICIES is disabled 2019-01-10 11:23:33 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

The LLVM Compiler Infrastructure

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