This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PING] [PATCH][AARCH64]End frame record chain correctly
- From: Renlin Li <renlin dot li at arm dot com>
- To: libc-alpha at sourceware dot org
- Cc: marcus Shawcroft <Marcus dot Shawcroft at arm dot com>
- Date: Thu, 06 Nov 2014 14:51:25 +0000
- Subject: [PING] [PATCH][AARCH64]End frame record chain correctly
- Authentication-results: sourceware.org; auth=none
- References: <54539D07 dot 7070107 at arm dot com>
Hi all,
can anybody help to review this?
Regards,
Renlin Li
On 31/10/14 14:30, Renlin Li wrote:
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.