| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 174078
|
| |
|
|
|
|
| |
and, in the case of ELF files, using symbol addresses when available for relocations to the .debug_info section. Also extending the llvm-rtdyld tool to add the ability to dump line number information for testing purposes.
llvm-svn: 173517
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This simplifies the usage and implementation of ELFObjectFile by using ELFType
to replace:
<endianness target_endianness, std::size_t max_alignment, bool is64Bits>
This does complicate the base ELF types as they must now use template template
parameters to partially specialize for the 32 and 64bit cases. However these
are only defined once.
llvm-svn: 172515
|
| |
|
|
|
|
|
|
|
| |
This patch adjust the r171506 to make all DWARF enconding pc-relative
for PPC64. It also adds the R_PPC64_REL32 relocation handling in MCJIT
(since the eh_frame will not generate PIC-relative relocation) and also
adds the emission of stubs created by the TTypeEncoding.
llvm-svn: 171979
|
| |
|
|
|
|
| |
to create a properly aligned reader.
llvm-svn: 171520
|
| |
|
|
|
|
|
|
|
| |
This patch fixes the PPC eh_frame definitions for the personality and
frame unwinding for PIC objects. It makes PIC build correctly creates
relative relocations in the '.rela.eh_frame' segments and thus avoiding
a text relocation that generates a DT_TEXTREL segments in link phase.
llvm-svn: 171506
|
| |
|
|
|
|
| |
mangling prefix to this symbol.
llvm-svn: 171025
|
| |
|
|
| |
llvm-svn: 170350
|
| |
|
|
|
|
|
|
|
|
| |
missed in the first pass because the script didn't yet handle include
guards.
Note that the script is now able to handle all of these headers without
manual edits. =]
llvm-svn: 169224
|
| |
|
|
| |
llvm-svn: 169183
|
| |
|
|
|
|
|
|
|
| |
This small change adds support for that. It will make all MCJIT tests pass
in make-check on BigEndian platforms.
Patch by Petar Jovanovic.
llvm-svn: 169178
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131
|
| |
|
|
|
|
| |
and RuntimeDyld
llvm-svn: 168755
|
| |
|
|
|
|
|
|
| |
The SectionMemoryManager now supports (and requires) applying section-specific page permissions. Clients using this memory manager must call either MCJIT::finalizeObject() or SectionMemoryManager::applyPermissions() before executing JITed code.
See r168718 for changes from the previous implementation.
llvm-svn: 168721
|
| |
|
|
|
|
|
|
|
| |
all symbols during object loading, not just global ones.
This fixes JIT execution of code using llvm.global_ctors with internal
linkage constructors.
llvm-svn: 168148
|
| |
|
|
|
|
| |
permissions after an object has been loaded.
llvm-svn: 168114
|
| |
|
|
| |
llvm-svn: 167968
|
| |
|
|
|
|
| |
Prior to this patch RuntimeDyld attempted to re-apply relocations every time reassignSectionAddress was called (via MCJIT::mapSectionAddress). In addition to being inefficient and redundant, this led to a problem when a section was temporarily moved too far away from another section with a relative relocation referencing the section being moved. To fix this, I'm adding a new method (finalizeObject) which the client can call to indicate that it is finished rearranging section addresses so the relocations can safely be applied.
llvm-svn: 167400
|
| |
|
|
|
|
|
|
| |
values in the original object buffer.
Some ELF relocations require adding the a value to the original contents of the object buffer at the specified location. In order to properly handle multiple applications of a relocation, the RuntimeDyld code should be grabbing the original value from the object buffer and writing a new value into the loaded section buffer. This patch changes the parameters passed to resolveRelocations to accommodate this need.
llvm-svn: 167304
|
| |
|
|
| |
llvm-svn: 167247
|
| |
|
|
|
|
| |
Patch by Amara Emerson.
llvm-svn: 166919
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds initial support for MCJIT for PPC64-elf-abi. The TOC
relocation and ODP handling is implemented.
It fixes the following ExecutionEngine testcases:
ExecutionEngine/2003-01-04-ArgumentBug.ll
ExecutionEngine/2003-01-04-LoopTest.ll
ExecutionEngine/2003-01-04-PhiTest.ll
ExecutionEngine/2003-01-09-SARTest.ll
ExecutionEngine/2003-01-10-FUCOM.ll
ExecutionEngine/2003-01-15-AlignmentTest.ll
ExecutionEngine/2003-05-11-PHIRegAllocBug.ll
ExecutionEngine/2003-06-04-bzip2-bug.ll
ExecutionEngine/2003-06-05-PHIBug.ll
ExecutionEngine/2003-08-15-AllocaAssertion.ll
ExecutionEngine/2003-08-21-EnvironmentTest.ll
ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll
ExecutionEngine/2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
ExecutionEngine/simplesttest.ll
ExecutionEngine/simpletest.ll
ExecutionEngine/stubs.ll
ExecutionEngine/test-arith.ll
ExecutionEngine/test-branch.ll
ExecutionEngine/test-call-no-external-funcs.ll
ExecutionEngine/test-cast.ll
ExecutionEngine/test-common-symbols.ll
ExecutionEngine/test-constantexpr.ll
ExecutionEngine/test-fp-no-external-funcs.ll
ExecutionEngine/test-fp.ll
ExecutionEngine/test-global-init-nonzero.ll
ExecutionEngine/test-global.ll
ExecutionEngine/test-loadstore.ll
ExecutionEngine/test-local.ll
ExecutionEngine/test-logical.ll
ExecutionEngine/test-loop.ll
ExecutionEngine/test-phi.ll
ExecutionEngine/test-ret.ll
ExecutionEngine/test-return.ll
ExecutionEngine/test-setcond-fp.ll
ExecutionEngine/test-setcond-int.ll
ExecutionEngine/test-shift.ll
llvm-svn: 166678
|
| |
|
|
| |
llvm-svn: 166485
|
| |
|
|
|
|
| |
while processing relocations.
llvm-svn: 165854
|
| |
|
|
| |
llvm-svn: 165785
|
| |
|
|
|
|
|
| |
isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.
llvm-svn: 165767
|
| |
|
|
|
|
| |
Patch by Amara Emerson.
llvm-svn: 165128
|
| |
|
|
| |
llvm-svn: 165053
|
| |
|
|
|
|
| |
LLVM_DELETED_FUNCTION.
llvm-svn: 164090
|
| |
|
|
|
|
| |
mapSectionAddress() wasn't consistent.
llvm-svn: 163843
|
| |
|
|
|
|
|
|
|
|
| |
The assumption that the target address for the relocation will always be
sizeof(intptr_t) and will always contain an addend for the relocation
value is very wrong. Default to no addend for now.
rdar://12157052
llvm-svn: 163765
|
| |
|
|
|
|
|
| |
When comparing to the macho relocation type enum value, make sure we're only
comparing against the bits in the RelType that correspond.
llvm-svn: 163764
|
| |
|
|
| |
llvm-svn: 163763
|
| |
|
|
| |
llvm-svn: 163532
|
| |
|
|
|
|
|
| |
Make sure to return a pointer into the target memory, not the local memory.
Often they are the same, but we can't assume that.
llvm-svn: 163217
|
| |
|
|
| |
llvm-svn: 162677
|
| |
|
|
|
|
| |
Patch by Petar Jovanovic.
llvm-svn: 162213
|
| |
|
|
|
|
|
|
|
|
| |
No new tests are added.
All tests in ExecutionEngine/MCJIT that have been failing pass after this patch
is applied (when "make check" is done on a mips board).
Patch by Petar Jovanovic.
llvm-svn: 162135
|
| |
|
|
|
|
| |
readable.
llvm-svn: 160889
|
| |
|
|
| |
llvm-svn: 160880
|
| |
|
|
| |
llvm-svn: 160873
|
| |
|
|
| |
llvm-svn: 160621
|
| |
|
|
| |
llvm-svn: 157885
|
| |
|
|
|
|
|
|
|
|
|
| |
- Improved parameter names for clarity
- Added comments
- emitCommonSymbols should return void because its return value is not being
used anywhere
- Attempt to reduce the usage of the RelocationValueRef type. Restricts it
for a single goal and may serve as a step for eventual removal.
llvm-svn: 155908
|
| |
|
|
|
|
|
|
|
| |
- There's no point having a different type for the local and global symbol
tables.
- Renamed SymbolTable to GlobalSymbolTable to clarify the intention
- Improved const correctness where relevant
llvm-svn: 155898
|
| |
|
|
|
|
|
|
|
| |
relocations are resolved. It's much more reasonable to do this decision when
relocations are just being added - we have all the information at that point.
Also a bit of renaming and extra comments to clarify extensions.
llvm-svn: 155819
|
| |
|
|
|
|
|
|
|
| |
- Add comments
- Change field names to be more reasonable
- Fix indentation and naming to conform to coding conventions
- Remove unnecessary includes / replace them by forward declatations
llvm-svn: 155815
|
| |
|
|
|
|
| |
comments.
llvm-svn: 155793
|
| |
|
|
| |
llvm-svn: 154948
|
| |
|
|
| |
llvm-svn: 154872
|