search for: r_arm_jump24

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,