<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emscripten-fastcomp/lib/ExecutionEngine/RuntimeDyld, branch master</title>
<subtitle>LLVM with the emscripten fastcomp javascript backend</subtitle>
<id>https://git.amat.us/emscripten-fastcomp/atom/lib/ExecutionEngine/RuntimeDyld?h=master</id>
<link rel='self' href='https://git.amat.us/emscripten-fastcomp/atom/lib/ExecutionEngine/RuntimeDyld?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/'/>
<updated>2013-05-06T17:21:23Z</updated>
<entry>
<title>PowerPC: Fix unimplemented relocation on ppc64</title>
<updated>2013-05-06T17:21:23Z</updated>
<author>
<name>Adhemerval Zanella</name>
<email>azanella@linux.vnet.ibm.com</email>
</author>
<published>2013-05-06T17:21:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=f51d7e76ae2c56588b162d84da54d5c3f0b66b51'/>
<id>urn:sha1:f51d7e76ae2c56588b162d84da54d5c3f0b66b51</id>
<content type='text'>
This patch handles the R_PPC64_REL64 relocation type for powerpc64
for mcjit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181220 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add EH support to the MCJIT.</title>
<updated>2013-05-05T20:43:10Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2013-05-05T20:43:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=a2e40fbd624916c187a95ed76939ca7f02ed3e53'/>
<id>urn:sha1:a2e40fbd624916c187a95ed76939ca7f02ed3e53</id>
<content type='text'>
This gets exception handling working on ELF and Macho (x86-64 at least).
Other than the EH frame registration, this patch also implements support
for GOT relocations which are used to locate the personality function on
MachO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181167 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>AArch64: implement 64-bit absolute relocation in MCJIT</title>
<updated>2013-05-04T20:14:14Z</updated>
<author>
<name>Tim Northover</name>
<email>Tim.Northover@arm.com</email>
</author>
<published>2013-05-04T20:14:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=d52eaae157e661f280d0a71aabc060602ffc4424'/>
<id>urn:sha1:d52eaae157e661f280d0a71aabc060602ffc4424</id>
<content type='text'>
This is about the simplest relocation, but surprisingly rare in actual
code.

It occurs in (for example) the MCJIT test test-ptr-reloc.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181134 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>AArch64: add stubs to support long function calls on MCJIT</title>
<updated>2013-05-04T20:14:09Z</updated>
<author>
<name>Tim Northover</name>
<email>Tim.Northover@arm.com</email>
</author>
<published>2013-05-04T20:14:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=4a9b6b798d5ea335f5f29d278db83b830ae4a564'/>
<id>urn:sha1:4a9b6b798d5ea335f5f29d278db83b830ae4a564</id>
<content type='text'>
As with global accesses, external functions could exist anywhere in
memory. Therefore the stub must create a complete 64-bit address. This
patch implements the fragment as (roughly):
    movz x16, #:abs_g3:somefunc
    movk x16, #:abs_g2_nc:somefunc
    movk x16, #:abs_g1_nc:somefunc
    movk x16, #:abs_g0_nc:somefunc
    br x16

In principle we could save 4 bytes by using a literal-load instead,
but it is unclear that would be more efficient and can only be tested
when real hardware is readily available.

This allows (for example) the MCJIT test 2003-05-07-ArgumentTest to
pass on AArch64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181133 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>AArch64: implement relocations for global access</title>
<updated>2013-05-04T20:14:04Z</updated>
<author>
<name>Tim Northover</name>
<email>Tim.Northover@arm.com</email>
</author>
<published>2013-05-04T20:14:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=654c2d6b7a9274fc281c30c0e91419aadb6dc78a'/>
<id>urn:sha1:654c2d6b7a9274fc281c30c0e91419aadb6dc78a</id>
<content type='text'>
The large memory model (default and main viable for JIT) emits
addresses in need of relocation as
    movz x0, #:abs_g3:somewhere
    movk x0, #:abs_g2_nc:somewhere
    movk x0, #:abs_g1_nc:somewhere
    movk x0, #:abs_g0_nc:somewhere

To support this we must implement those four relocations in the
dynamic loader.

This allows (for example) the test-global.ll MCJIT test to pass on
AArch64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181132 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>AArch64: implement first relocation required for MCJIT</title>
<updated>2013-05-04T20:13:59Z</updated>
<author>
<name>Tim Northover</name>
<email>Tim.Northover@arm.com</email>
</author>
<published>2013-05-04T20:13:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=85829bb98a998cff8f364c12d172da948ca225f4'/>
<id>urn:sha1:85829bb98a998cff8f364c12d172da948ca225f4</id>
<content type='text'>
R_AARCH64_PCREL32 is present in even trivial .eh_frame sections and so
is required to compile any function without the "nounwind" attribute.

This change implements very basic infrastructure in the RuntimeDyldELF
file and allows (for example) the test-shift.ll MCJIT test to pass
on AArch64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181131 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>[SystemZ] Add MCJIT support</title>
<updated>2013-05-03T14:15:35Z</updated>
<author>
<name>Richard Sandiford</name>
<email>rsandifo@linux.vnet.ibm.com</email>
</author>
<published>2013-05-03T14:15:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=6fc2ad62e23673ef829c9c4bbf62743d30928a5b'/>
<id>urn:sha1:6fc2ad62e23673ef829c9c4bbf62743d30928a5b</id>
<content type='text'>
Another step towards reinstating the SystemZ backend.  I'll commit
the configure changes separately (TARGET_HAS_JIT etc.), then commit
a patch to enable the MCJIT tests on SystemZ.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181015 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Fix Addend computation for non external relocations on Macho.</title>
<updated>2013-04-30T15:40:54Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2013-04-30T15:40:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=e87dadc44b1544c35e13cf48dfe167109929a944'/>
<id>urn:sha1:e87dadc44b1544c35e13cf48dfe167109929a944</id>
<content type='text'>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180790 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Collect the Addend for external relocs.</title>
<updated>2013-04-30T01:29:57Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2013-04-30T01:29:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=8e6e02a41bd21f8e919e812dbd7aa9ed5474bdbf'/>
<id>urn:sha1:8e6e02a41bd21f8e919e812dbd7aa9ed5474bdbf</id>
<content type='text'>
This fixes 2013-04-04-RelocAddend.ll. We don't have a testcase for non external
relocs with an Addend. I will try to write one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180767 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
<entry>
<title>Add getSymbolAlignment to the ObjectFile interface.</title>
<updated>2013-04-29T22:24:22Z</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2013-04-29T22:24:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/emscripten-fastcomp/commit/?id=59a0e79631ed851d98cf9c2ba6fa5f9aafdfdc93'/>
<id>urn:sha1:59a0e79631ed851d98cf9c2ba6fa5f9aafdfdc93</id>
<content type='text'>
For regular object files this is only meaningful for common symbols. An object
file format with direct support for atoms should be able to provide alignment
information for all symbols.

This replaces getCommonSymbolAlignment and fixes
test-common-symbols-alignment.ll on darwin. This also includes a fix to
MachOObjectFile::getSymbolFlags. It was marking undefined symbols as common
(already tested by existing mcjit tests now that it is used).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180736 91177308-0d34-0410-b5e6-96231b3b80d8
</content>
</entry>
</feed>
