[PATCH][AARCH64]End frame record chain correctly

Renlin Li renlin.li@arm.com
Fri Oct 31 14:30:00 GMT 2014


Hi all,

This is a simple patch to make the end of frame record chain correctly 
according to AArch64 AAPCS.
Currently, the FP(x29) is overwritten by SP in the very beginning of _start.

aarch64-none-linux-gnueabi target has been tested on the model. No new 
issues.

Is this Okay to commit?


 From the  Procedure Call Standard for ARM 64-bit Architecture 
documentation:
"Conforming code shall construct a linked list of stack-frames. Each 
frame shall link to the frame of its caller by means of a frame record 
of two 64-bit values on the stack. The frame record for the innermost 
frame (belonging to the most recent routine invocation) shall be pointed 
to by the Frame Pointer register (FP). The lowest addressed double-word 
shall point to the previous frame record and the highest addressed 
double-word shall contain the value passed in LR on entry to the current 
function. The end of the frame record chain is indicated by the address 
zero in the address for the previous frame."



ChangeLog:

2014-10-31  Renlin Li  <Renlin.Li@arm.com>

     * sysdeps/aarch64/start.S: Delete x29 overwritten assignment.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff.patch
Type: text/x-patch
Size: 329 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20141031/be2dcbdb/attachment.bin>


More information about the Libc-alpha mailing list