Displaying 3 results from an estimated 3 matches for "builitin".
2018 May 21
1
ARM64, dropping ADRP instructions, and ld.lld
Hello Eric,
If you do decide to investigate the linker script route, the ALIGN
builitin function might be useful. I think the simplest way is to do
something like:
.text ALIGN(0x1000) : { *(.text) }
.my_next_section ALIGN (0x1000) : { *(my_next_section) }
Bothe .text and .my_next_section would start at 4k boundaries.
Link to docs: https://sourceware.org/binutils/docs/ld/Builtin-Funct...
2018 May 21
0
ARM64, dropping ADRP instructions, and ld.lld
Thank you for providing the explanation for how ADRP works...something I
should have done myself.
With this explanation in hand, one other alternative I was looking at was
using a linkerscript to essentially rebase the code and have ADRP
instructions that would address the correct location as a result. However,
I am not a linkerscript expert, so I am not sure if such a thing is even
possible or
2018 May 21
5
ARM64, dropping ADRP instructions, and ld.lld
On 21 May 2018 at 13:57, Bruce Hoult via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> "ADRL produces position-independent code, because the address is calculated
> relative to PC."
>
> From this, I'd expect ADRP to simply do Xd <- PC + n*4096, where n is a 20
> bit number, just like AUIPC in RISC-V (also a 20 literal multiplied by 4096)
> or AUIPC in MIPS