Displaying 20 results from an estimated 700 matches similar to: "[LLVMdev] Thumb call relocation for the Runtime dynamic linker (RuntimeDyldELF.cpp)"
2013 May 24
0
[LLVMdev] Thumb call relocation for the Runtime dynamic linker (RuntimeDyldELF.cpp)
Hi Jonas,
> here is a patch to add Thumb call relocation to the dynamic linker. I would be happy if you could commit it to the SVN.
Thanks very much for working on this. It looks like a good starting-point, but there are a couple of issues with the patch at the moment.
First, it only handles RelValue up to 22 bits (depending on how you count) in size. But on ARMv6T2 onwards the J1 and J2
2015 Jan 26
2
[LLVMdev] [llvm] r188726 - Adding PIC support for ELF on x86_64 platforms
Hi Lang,
Yeah, I remember this case. Basically what’s happening is that there are relocations for ELF on x86 that use a value that is present in the object image as part of the calculation for the final value that goes in the same location. If you ever find yourself applying relocations for a second time (for instance, because the loaded object location is remapped for out-of-proc execution)
2011 May 16
0
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
splited patches and test cases
mc-elf-thumbfunction-bit.diff: for 1
mc-elf-arm-backend-bl-blx-sign-bit.diff: for 2.
mc-elf-thumb-bl-blx-relocation-table-entry.diff: for 3.
mc-elf-cpu-xscale-attributes.diff: for 4.
elf-thumbfunc.s: test case for 1
elf-thumbfunc-reloc.ll: test case for 2 and 3
elf-xscale-attribute.ll: test case for 4
On Fri, May 13, 2011 at 1:42 PM, Koan-Sin Tan <koansin.tan
2011 May 16
2
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
On 11-05-16 09:21 AM, Koan-Sin Tan wrote:
> splited patches and test cases
>
> mc-elf-thumbfunction-bit.diff: for 1
> mc-elf-arm-backend-bl-blx-sign-bit.diff: for 2.
> mc-elf-thumb-bl-blx-relocation-table-entry.diff: for 3.
> mc-elf-cpu-xscale-attributes.diff: for 4.
>
> elf-thumbfunc.s: test case for 1
> elf-thumbfunc-reloc.ll: test case for 2 and 3
>
2011 May 13
7
[LLVMdev] [Patch] Let MC/ELF generate Thumb/Thumb-2 are properly
Hi,
We are trying to use clang as a drop-in replacement for the gcc come with
Android NDK. I found that MC/ELF doesn't not handle Thumb functions properly,
e.g., bit 0 of the function name in the .symtab is not set to 1, and some thumb
instructions are not generated correctly, e.g., the addresses for tBL/tBLX are
not calculated right.
With that attached patch, we can compile and run some
2017 Jul 26
2
armv7 pc-rel bx thumb instruction
Hi everyone,
I'm working on some custom transformation passes that have the side-effect
of
significantly increasing the code size. While testing it on some larger,
real-world code bases, I run into a linker error for armv7 thumb code. The
particular error I get from ld64 is that "armv7 has no pc-rel bx thumb
instruction." I've been able to reproduce the problem by taking a
2012 Mar 22
2
[LLVMdev] Sorting relocation entries
Hi Akira,
This is looking good. Some specific comments on the details below.
Thanks!
Jim
> diff --git a/include/llvm/MC/MCELFObjectWriter.h b/include/llvm/MC/MCELFObjectWriter.h
> index 6e9f5d8..220ecd0 100644
> --- a/include/llvm/MC/MCELFObjectWriter.h
> +++ b/include/llvm/MC/MCELFObjectWriter.h
> @@ -13,6 +13,7 @@
> #include "llvm/MC/MCObjectWriter.h"
>
2012 Mar 22
0
[LLVMdev] Sorting relocation entries
Here is the patch.
On Thu, Mar 22, 2012 at 11:11 AM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> Hi Jim,
>
> Yes, the relocation entries have to be reordered so that the
> got16/lo16 or hi16/lo16 pairs appear consecutively in the relocation
> table. As a result, relocations can appear in a different order than
> the instructions that they're for.
>
> For
2012 Mar 23
0
[LLVMdev] Sorting relocation entries
Hi Jim,
Thanks for reviewing the patch.
I couldn't get rid of STLExtras.h, but other than that, I followed all
the suggestions in your email.
Please let me know if you notice anything else that needs fixing.
On Thu, Mar 22, 2012 at 4:42 PM, Jim Grosbach <grosbach at apple.com> wrote:
> Hi Akira,
>
> This is looking good. Some specific comments on the details below.
>
>
2012 Mar 23
1
[LLVMdev] Sorting relocation entries
Hi Akira,
Just two very minor things that I missed the first time around.
1. The 'fixup" member of ELFRelocation entry should be "Fixup" instead.
2. Since we're always passing in a non-NULL fixup, that should probably be a reference, not a pointer.
Good for commit with those tweaks.
Thanks!
-Jim
On Mar 23, 2012, at 1:07 PM, Akira Hatanaka wrote:
> Hi Jim,
>
2016 May 18
3
BLX relocation regression on Thumb2 bot
Hi Tim,
You seem to be working around BLX support on ARM, and this linker
error has cropped up on our buildbot:
http://lab.llvm.org:8011/builders/clang-cmake-thumbv7-a15-full-sh/builds/3526
llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:
2012 Mar 22
2
[LLVMdev] Sorting relocation entries
Hi Jim,
Yes, the relocation entries have to be reordered so that the
got16/lo16 or hi16/lo16 pairs appear consecutively in the relocation
table. As a result, relocations can appear in a different order than
the instructions that they're for.
For example, in this code, the post-RA scheduler inserts an
instruction with relocation %got(body_ok) between %got(scope_top) and
%lo(scope_top).
$ cat
2020 Apr 15
2
[ARM] Register pressure with -mthumb forces register reload before each call
On Wed, 15 Apr 2020 at 03:36, John Brawn <John.Brawn at arm.com> wrote:
>
> > Could you please point out what am I doing wrong in the patch ?
>
> It's because you're getting the function name by doing
> callee->getName().str().c_str()
> The str() call generates a temporary copy of the name which ceases to exist outside of this expression
> causing the
2014 Nov 24
3
[LLVMdev] bx instruction getting generated in arm assembly for O1
Hi Mayur,
> On 24 Nov 2014, at 07:00, MAYUR PANDEY <mayur.p at samsung.com> wrote:
> In the assembly generated with O0, we are getting the "blx" instruction whereas with O1 we get "bx" (in 3.4.2 we used to get "blx" for both O0 and O1).
>
> Is this because of this patch: [llvm] r214959 - ARM: do not generate BLX instructions on Cortex-M CPUs
2015 Sep 11
2
Invalid instruction generated on armV4
I’m tying to run a rust application on armv4 architecture (arm720tdmi).
Rust is using llvm to generate native code.
Some programs are running well on the target but for more complex applications I receive a Illegal instruction :
gdb disassembling the core dump file gives :
0x401e41dc <+0>: push {r11, lr}
0x401e41e0 <+4>: mov r11, sp
0x401e41e4 <+8>: sub sp, sp, #8
2013 Jan 29
0
[LLVMdev] Assertions in RuntimeDyldELF in ExecutionEngine/MCJIT tests
Hi Alexey,
I think the most likely way to resolve this is to have the RecordingMemoryManager do something more complex to manage its allocations in such a way as to guarantee that they are all within proximity of one another. The code that is asserting is handling a relocation where code was generated to use a 32-bit relative offset in 64-bit code. If the two sections involved really are more
2014 Jul 22
2
[LLVMdev] [LLVMDev][3.5]: assertion failed in RuntimeDyldELF.cpp
Hi LLVMDev list
I am building LLVM from the SVN trunk at 213638 on a W7/X86_64/Cygwin
system and running make check leads to a series of failed assertions like
********************
FAIL: LLVM :: ExecutionEngine/MCJIT/test-setcond-fp.ll (6185 of 11245)
******************** TEST 'LLVM ::
ExecutionEngine/MCJIT/test-setcond-fp.ll' FAILED ********************
Script:
--
2020 Aug 03
2
LLD symbol types for defsym
I noticed that LLD doesn’t preserve the symbol type for a defsym directive. For example:
$ cat f.c
void f() {}
$ clang -c f.c
$ ld.lld -shared --defsym=g=f f.o
$ objdump -T a.out
DYNAMIC SYMBOL TABLE:
00000000000012a0 g DF .text 0000000000000006 f
00000000000012a0 g D .text 0000000000000000 g
f is marked as a function symbol, but g is not.
I recognize this is hard to do in the general
2013 Jan 30
0
[LLVMdev] Assertions in RuntimeDyldELF in ExecutionEngine/MCJIT tests
Yes, at some point we definitely should introduce stubs as a last resort for x86-64 relocations when the sections are too far apart, but I'd like to avoid it whenever possible.
What I meant in my previous message was that I'd have RecordingMemoryManager use something other than malloc (such as the memory API used by SectionMemoryManager) to keep section near one another.
-Andy
From:
2013 Jan 29
3
[LLVMdev] Assertions in RuntimeDyldELF in ExecutionEngine/MCJIT tests
Hi!
I'm trying to run LLVM test suite under AddressSanitizer and get test
failures in:
LLVM :: ExecutionEngine/MCJIT/simpletest-remote.ll
LLVM :: ExecutionEngine/MCJIT/test-data-align-remote.ll
LLVM :: ExecutionEngine/MCJIT/test-fp-no-external-funcs-remote.ll
LLVM :: ExecutionEngine/MCJIT/test-global-init-nonzero-remote.ll
All of them fail with assertion:
lli: