[aarch64-port-dev ] Help debugging problem with large code cache

Andrew Haley aph at redhat.com
Thu Dec 3 09:36:35 UTC 2015


On 03/12/15 07:41, Edward Nevill wrote:
> Because if the code has not been relocated yet, then the adrp could be pointing somewhere randomly within the code buffer, and it just happens sometimes to point to a valid trampoline stub.

If you can catch adrp being used where it randomly points somewhere
in a code buffer, then that undoubtedly would be a bug.

But pd_call_destination is surely not supposed to be used on a
branch whose destination has not been set: in that case it'll
return garbage, and it doesn't matter what kind of garbage.

The code in pd_set_call_destination certainly does look wrong,
however.  There is no guarantee at all that it points anywhere,
so dereferencing the adrp might be wrong.  It might be that the
logic here needs redesigning.

Andrew.



More information about the aarch64-port-dev mailing list