Displaying 12 results from an estimated 12 matches for "r_arm_jump24".
2015 Aug 26
2
Proposal: arbitrary relocations in constant global initializers
On Wed, Aug 26, 2015 at 03:53:33PM -0400, Rafael Espíndola wrote:
> > I'm not sure if this would be sufficient. The R_ARM_JUMP24 relocation
> > on ARM has specific semantics to implement ARM/Thumb interworking; see
> > http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044e/IHI0044E_aaelf.pdf
> > Note that R_ARM_CALL has the same operation but different semantics.
> > I suppose that we could try loo...
2016 Oct 07
2
Proposal: arbitrary relocations in constant global initializers
On Fri, Oct 7, 2016 at 12:20 PM, Evgenii Stepanov <eugeni.stepanov at gmail.com
> wrote:
> I've tried implementing some of the alternatives mentioned in this
> thread, and so far I like this syntax the most:
>
> i32 reloc (29, void ()* @f, 3925868544)
> ; 29 = 0x1d = R_ARM_JUMP24
> ; 3925868544 = 0xea000000
>
> Note the zeroes in the relocated data instead of 0xfffffe in the
> original proposal. This is aligned with the way LLVM emits relocations
> in the backend, and avoids encoding the addend in a
> relocation-specific way in the IR.
I am confused by t...
2018 Jan 10
3
llvm-mc assembler, GNU as, and pc-relative branches for Arm/AArch64/Mips
...relative offset.
Assembling and objdumping the same program with the
gcc-arm-non-eabi-7-2017-q4-major toolchain (no arguments to as):
a.out: file format elf32-littlearm
Disassembly of section .text:
00000000 <lab>:
0: 0afffffe beq 80 <*ABS*0x80>
0: R_ARM_JUMP24 *ABS*0x80
4: 1afffffe bne 40 <*ABS*0x40>
4: R_ARM_JUMP24 *ABS*0x40
8: 0afffffe beq 80 <*ABS*0x80>
8: R_ARM_JUMP24 *ABS*0x80
c: 1afffffe bne 40 <*ABS*0x40>
c: R_ARM_JUMP24 *ABS*0x40
In this case, relocations are generated and t...
2015 Aug 26
2
Proposal: arbitrary relocations in constant global initializers
...gt; This is pr10368.
>
> Do we really need to support hard coded relocation numbers? Looks like
> the examples above have a representation as constant expressions:
>
> (sub (add (ptrtoint @foo) 0xeafffffe) cur_pos)
>
> no?
I'm not sure if this would be sufficient. The R_ARM_JUMP24 relocation
on ARM has specific semantics to implement ARM/Thumb interworking; see
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044e/IHI0044E_aaelf.pdf
Note that R_ARM_CALL has the same operation but different semantics.
I suppose that we could try looking at the addend to decide which reloc...
2016 Oct 07
2
Proposal: arbitrary relocations in constant global initializers
...t; >>
> >> >> I've tried implementing some of the alternatives mentioned in this
> >> >> thread, and so far I like this syntax the most:
> >> >>
> >> >> i32 reloc (29, void ()* @f, 3925868544)
> >> >> ; 29 = 0x1d = R_ARM_JUMP24
> >> >> ; 3925868544 = 0xea000000
> >> >>
> >> >> Note the zeroes in the relocated data instead of 0xfffffe in the
> >> >> original proposal. This is aligned with the way LLVM emits
> relocations
> >> >> in the backend, a...
2016 Oct 07
2
Proposal: arbitrary relocations in constant global initializers
...lt;eugeni.stepanov at gmail.com> wrote:
> >>
> >> I've tried implementing some of the alternatives mentioned in this
> >> thread, and so far I like this syntax the most:
> >>
> >> i32 reloc (29, void ()* @f, 3925868544)
> >> ; 29 = 0x1d = R_ARM_JUMP24
> >> ; 3925868544 = 0xea000000
> >>
> >> Note the zeroes in the relocated data instead of 0xfffffe in the
> >> original proposal. This is aligned with the way LLVM emits relocations
> >> in the backend, and avoids encoding the addend in a
> >> r...
2016 Oct 18
2
Proposal: arbitrary relocations in constant global initializers
...ll -O3
> -mtriple=armv7-unknown-linux |~/src/llvm-build-rel/bin/llvm-objdump -d -r -
>
> <stdin>: file format ELF32-arm-little
>
> Disassembly of section .text:
> bar:
> 0: fe ff ff ea b #-8 <bar>
> 00000000: R_ARM_JUMP24 foo
>
>
> How can we represent such jump table entries in IR? One way that almost
> works on x86 is to attach a constant to a function using either prefix data
> or prologue data, or to place a GlobalVariable in the .text section using
> the section attribute. The constant would u...
2015 Jul 29
0
[LLVMdev] Proposal: arbitrary relocations in constant global initializers
...PC32 foo-4-P
Or on ARM:
$ ~/src/llvm-build-rel/bin/llc -filetype=obj -o - tc.ll -O3 -mtriple=armv7-unknown-linux |~/src/llvm-build-rel/bin/llvm-objdump -d -r -
<stdin>: file format ELF32-arm-little
Disassembly of section .text:
bar:
0: fe ff ff ea b #-8 <bar>
00000000: R_ARM_JUMP24 foo
How can we represent such jump table entries in IR? One way that almost
works on x86 is to attach a constant to a function using either prefix data
or prologue data, or to place a GlobalVariable in the .text section using
the section attribute. The constant would use ConstantExpr arithmetic t...
2017 Jun 28
3
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
...patches to get past those relocation errors.
On 6/28/17, 9:36 AM, "llvm-dev on behalf of Peter Smith via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at lists.llvm.org> wrote:
Yes it should cover the following relocations:
R_ARM_CALL (ARM BL/BLX)
R_ARM_JUMP24 (ARM B)
R_ARM_THM_CALL (Thumb BL/BLX)
R_ARM_THM_JUMP19 (Thumb conditional B<cc>.w)
R_ARM_THM_JMP24 (Thumb unconditional B.w)
Peter
On 28 June 2017 at 17:31, Alessandro Pistocchi <apukfreelance at gmail.com> wrote:
> Oh, so it looks like I hit a...
2017 Jun 28
2
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
...t;
> On 6/28/17, 9:36 AM, "llvm-dev on behalf of Peter Smith via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at lists.llvm.org> wrote:
>
> Yes it should cover the following relocations:
> R_ARM_CALL (ARM BL/BLX)
> R_ARM_JUMP24 (ARM B)
> R_ARM_THM_CALL (Thumb BL/BLX)
> R_ARM_THM_JUMP19 (Thumb conditional B<cc>.w)
> R_ARM_THM_JMP24 (Thumb unconditional B.w)
>
> Peter
>
>
>> On 28 June 2017 at 17:31, Alessandro Pistocchi <apukfreelance at...
2017 Jun 30
3
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
...On 6/28/17, 9:36 AM, "llvm-dev on behalf of Peter Smith via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at lists.llvm.org> wrote:
>>>
>>> Yes it should cover the following relocations:
>>> R_ARM_CALL (ARM BL/BLX)
>>> R_ARM_JUMP24 (ARM B)
>>> R_ARM_THM_CALL (Thumb BL/BLX)
>>> R_ARM_THM_JUMP19 (Thumb conditional B<cc>.w)
>>> R_ARM_THM_JMP24 (Thumb unconditional B.w)
>>>
>>> Peter
>>>
>>>
>>>> On 28 June 2017 at 17:31, Alessandro Pistocc...
2017 Jun 28
3
Building llvm with clang and lld on arm and the llvm arm backend relocation on position independent code
Oh, so it looks like I hit a bit of a wall there :-) I’ll take a look thanks.
That bug talks about R_ARM_THM_CALL which I assume are thumb related.
Will your implementation fix also R_ARM_CALL errors?
> On 28 Jun 2017, at 17:15, Peter Smith <peter.smith at linaro.org> wrote:
>
> Hello Alessandro,
>
> The LLD ARM port doesn't currently support range extension thunks,