History log of /external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c201e6eaf165c83f0092c43b371e509fa8eaf4cc 01-May-2012 Eli Bendersky <eli.bendersky@intel.com> RuntimeDyld cleanup:

- 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
d98c9e918c9750d965c1efe9efcc9e13feacbe13 01-May-2012 Eli Bendersky <eli.bendersky@intel.com> RuntimeDyld code cleanup:

- 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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
6d15e8717767af9a6a20c6ea456119c15c77dd00 30-Apr-2012 Eli Bendersky <eli.bendersky@intel.com> Code cleanup in RuntimeDyld:

- 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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
689ff9c00f4f3dcf3491778bcdbda79e19e2285d 17-Apr-2012 Preston Gurd <preston.gurd@intel.com> Implement GDB integration for source level debugging of code JITed using
the MCJIT execution engine.

The GDB JIT debugging integration support works by registering a loaded
object image with a pre-defined function that GDB will monitor if GDB
is attached. GDB integration support is implemented for ELF only at this
time. This integration requires GDB version 7.0 or newer.

Patch by Andy Kaylor!




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
0e4fa5ff365fccff46870b7d5d8d4d1d46e77986 30-Mar-2012 Danil Malyshev <dmalyshev@accesssoftek.com> Re-factored RuntimeDyLd:

1. The main works will made in the RuntimeDyLdImpl with uses the ObjectFile class. RuntimeDyLdMachO and RuntimeDyLdELF now only parses relocations and resolve it. This is allows to make improvements of the RuntimeDyLd more easily. In addition the support for COFF can be easily added.

2. Added ARM relocations to RuntimeDyLdELF.

3. Added support for stub functions for the ARM, allowing to do a long branch.

4. Added support for external functions that are not loaded from the object files, but can be loaded from external libraries. Now MCJIT can correctly execute the code containing the printf, putc, and etc.

5. The sections emitted instead functions, thanks Jim Grosbach. MemoryManager.startFunctionBody() and MemoryManager.endFunctionBody() have been removed.
6. MCJITMemoryManager.allocateDataSection() and MCJITMemoryManager. allocateCodeSection() used JMM->allocateSpace() instead of JMM->allocateCodeSection() and JMM->allocateDataSection(), because I got an error: "Cannot allocate an allocated block!" with object file contains more than one code or data sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
288967dfac246c8e35dc4f85afb667e74d1d26a8 30-Mar-2012 Bill Wendling <isanbard@gmail.com> Revert r153694. It was causing failures in the buildbots.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
4b0b8ef1b0edc2c343145f6b029c43b00a6f5c13 29-Mar-2012 Danil Malyshev <dmalyshev@accesssoftek.com> Re-factored RuntimeDyld.
Added ExecutionEngine/MCJIT tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
b38aae442f0e3ce11a6231455b180bfc66ab5d3e 26-Mar-2012 Sean Callanan <scallanan@apple.com> Made RuntimeDyldMachO support vanilla i386
relocations. The algorithm is the same as
that for x86_64. Scattered relocations, a
feature present in i386 but not on x86_64,
are not yet supported.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
3e29671cca14f8fce1ea6b602175880cb3df7199 22-Mar-2012 Chandler Carruth <chandlerc@gmail.com> Revert a series of commits to MCJIT to get the build working in CMake
(and hopefully on Windows). The bots have been down most of the day
because of this, and it's not clear to me what all will be required to
fix it.

The commits started with r153205, then r153207, r153208, and r153221.
The first commit seems to be the real culprit, but I couldn't revert
a smaller number of patches.

When resubmitting, r153207 and r153208 should be folded into r153205,
they were simple build fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
799184d8eb140d02385501223cea0a087148b67b 21-Mar-2012 Danil Malyshev <dmalyshev@accesssoftek.com> Re-factored RuntimeDyld.
Added ExecutionEngine/MCJIT tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
5069b21b45d8ec99a1b34b6483d800ba5c2ea598 20-Mar-2012 Sean Callanan <scallanan@apple.com> RuntimeDyldMachO has the ability to keep track of
relocations (i.e., pieces of data whose addresses
are referred to elsewhere in the binary image) and
update the references when the section containing
the relocations moves. The way this works is that
there is a map from section IDs to lists of
relocations.

Because the relocations are associated with the
section containing the data being referred to, they
are updated only when the target moves. However,
many data references are relative and also depend
on the location of the referrer.

To solve this problem, I introduced a new data
structure, Referrer, which simply contains the
section being referred to and the index of the
relocation in that section. These referrers are
associated with the source containing the
reference that needs to be updated, so now
regardless of which end of the relocation moves,
the relocation will now be updated correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
61dfa77fce2b6b6261e43334aec060129eac5c6c 08-Mar-2012 Sean Callanan <scallanan@apple.com> Improved support in RuntimeDyldMachO for generating
code that will be relocated into another memory space.
Now when relocations are resolved, the address of
the relocation in the host memory (where the JIT is)
is passed separately from the address that the
relocation will be at in the target memory (where
the code will run).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
996d6fdfb4242f935a8c97cbfa0af5ba6db4a743 01-Mar-2012 Sean Callanan <scallanan@apple.com> Fixed the 32-bit runtime dynamic loader to allocate
code sections when needed. It just had a conditional
the wrong way around.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
b0934ab7d811e23bf530371976b8b35f3242169c 19-Feb-2012 Ahmed Charles <ace2001ac@gmail.com> Remove dead code. Improve llvm_unreachable text. Simplify some control flow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
b83a67e1e3fe210bd99a82eccd3dc5b1b44f1503 13-Feb-2012 Ahmed Charles <ace2001ac@gmail.com> Fix various issues (or do cleanups) found by enabling certain MSVC warnings.

- Use unsigned literals when the desired result is unsigned. This mostly allows unsigned/signed mismatch warnings to be less noisy even if they aren't on by default.
- Remove misplaced llvm_unreachable.
- Add static to a declaration of a function on MSVC x86 only.
- Change some instances of calling a static function through a variable to simply calling that function while removing the unused variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
858143816d43e58b17bfd11cb1b57afbd7f0f893 07-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
76463fdeb603e1d89b05f094bfd6fe73b90d0b61 22-Jan-2012 Eli Bendersky <eli.bendersky@intel.com> Split the lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h header to smaller logical headers.

ELF and MachO implementations of RuntimeDyldImpl go into their own header files now.

Reviewed on llvm-commits



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
93391348dc00b4078463515149eeb214796f553d 21-Jan-2012 Jim Grosbach <grosbach@apple.com> RuntimeDyld alignment adjustment from MachO file.

The MachO file stores section alignment as log2(alignment-in-bytes). The
allocation routines want the raw alignment-in-bytes value, so adjust
for that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148604 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
b442d7c6bf920b892b4b098923c1652700ee07e6 20-Jan-2012 Jim Grosbach <grosbach@apple.com> Fix inverted condition.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
e0934bee3a4f40731169bc42b15a39ce39978175 17-Jan-2012 Jim Grosbach <grosbach@apple.com> Tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
020f4e861a9a32059f76377e787703c92ba55a98 17-Jan-2012 Jim Grosbach <grosbach@apple.com> ExecutionEngine interface to re-map addresses for engines that support it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
652ca2fe0c8bd406222d064937adc28b281d7b89 17-Jan-2012 Jim Grosbach <grosbach@apple.com> MCJIT handle a few more simple x86 relocations for MachO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
61425c0a7f4e3608a85f7bbf254cd052a15b7446 16-Jan-2012 Jim Grosbach <grosbach@apple.com> MCJIT support for non-function sections.

Move to a by-section allocation and relocation scheme. This allows
better support for sections which do not contain externally visible
symbols.

Flesh out the relocation address vs. local storage address separation a
bit more as well. Remote process JITs use this to tell the relocation
resolution code where the code will live when it executes.

The startFunctionBody/endFunctionBody interfaces to the JIT and the
memory manager are deprecated. They'll stick around for as long as the
old JIT does, but the MCJIT doesn't use them anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
1eb189b4b2a99fc0b03f4d8df9f469c3ef7ad4f5 06-Jan-2012 Eli Bendersky <eli.bendersky@intel.com> Fix typo in string


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
fadfd7b9776c723357894af00442a35d0a4d0acf 01-Nov-2011 Jim Grosbach <grosbach@apple.com> Ignore MachO symbol flags in the upper nibble of n_desc.

They don't impact the MCJIT rtdyld, so just mask them off for now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
cf852dc49bfadb79a27455f8773dbfda2b96f4f6 13-Jul-2011 Danil Malyshev <dmalyshev@accesssoftek.com> Add to RuntimeDyld support different object formats

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp