[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] 2.6.11
From: |
Will Newton |
Subject: |
Re: [Gcl-devel] 2.6.11 |
Date: |
Wed, 13 Aug 2014 10:16:17 +0100 |
On 12 August 2014 21:37, Camm Maguire <address@hidden> wrote:
> Greetings!
>
> Will Newton <address@hidden> writes:
>
>> On 12 August 2014 20:28, Camm Maguire <address@hidden> wrote:
>>
>> custreloc is working, but lacks trampolines. The branch distance is
>> +/-128MB which seems sufficient on the cygwin branch but not master
>> where the heap seems to grow much more quickly.
>>
>
> Great! I did not know this (apparent adequacy on cygwin). As I recall,
> there is still no long-calls option. Can you post the relocs used by
> the existing calls output by gcc? Is the branch you mention above the
> existing 24bit call?
The relocs used by gcc should be covered in the patch I posted, the
relative branch is R_AARCH64_CALL26/R_AARCH64_JUMP26.
The relocations are documented on the ARM website (not sure if you
need an account):
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0056b/IHI0056B_aaelf64.pdf
> I'm surprised there is a difference between master and 2.6.11pre here,
> but the immediate goal is the latter. The most strenuous test will be
> the acl2 build, and I'd be very surprised if that will work with 24bit
> calls even in 2.6.11pre. If it does, we can proceed with the release.
>
>>
>> I think debian-arm is a good place to ask, there should be some ARM
>> and Linaro people on that list who may be able to arrange access to
>> hardware.
>
> Thanks so much. Have posted there, and already received a kind offer.
Excellent!
> I take it you are working on/with gcc development on arm64. How long
> will it take to get long-calls?
I can't speak for ARM but I don't believe they plan to add a long
calls option to the compiler as the linker is capable of dealing with
adding the required trampolines.
> Lastly, is there any reason why a 32bit long call on arm32 could not be
> used as a arm64 trampoline? Is the instruction encoding the same?
The ISA is completely new, although it does have a number of
similarities to AArch32 (as it is now known).
The sequence to use would probably be something like:
adrp ip0, #:pg_hi21:sym
add ip0, #:lo12:sym
br ip0
Which gives 32bits pc-relative.
--
Will Newton
Toolchain Working Group, Linaro
Re: [Gcl-devel] 2.6.11, David Billinghurst, 2014/08/12
Re: [Gcl-devel] 2.6.11, Camm Maguire, 2014/08/29