This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH][AARCH64]End frame record chain correctly
- From: Renlin Li <renlin dot li at arm dot com>
- To: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 10 Nov 2014 10:54:24 +0000
- Subject: Re: [PATCH][AARCH64]End frame record chain correctly
- Authentication-results: sourceware.org; auth=none
- References: <54539D07 dot 7070107 at arm dot com> <CAFqB+PzkH=jsaJDcGe0sERAotCm4+Bsn4J-0mJf9q66cTZOofQ at mail dot gmail dot com>
On 05/11/14 10:53, Marcus Shawcroft wrote:
On 31 October 2014 14:30, Renlin Li<renlin.li@arm.com> 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.
Surely aarch64-none-linux-gnu ;-)
The bugzilla # for this is 17555:
ChangeLog:
2014-10-31 Renlin Li<Renlin.Li@arm.com>
* sysdeps/aarch64/start.S: Delete x29 overwritten assignment.
Don't forget the () part of the ChangeLog entry. Add a reference to
the bugzilla ticket:
[BZ #17555]
* sysdeps/aarch64/start.S (_start): Delete x29 overwritten assignment.
Please also add 17555 to the 2.21 section of the NEWS file.
Can you back port this to 2.20 and 2.19 please.
Thanks
/Marcus
Hi Marcus,
Thank you for the suggestions! I have modified my patch and ChangeLog
accordingly.
The back port patches will come shortly.
aarch64-none-linux-gnu target has been tested on the model. No new issues.
Okay to commit?
ChangeLog:
2014-11-10 Renlin Li <Renlin.Li@arm.com>
[BZ #17555]
* sysdeps/aarch64/start.S (_start): Delete x29 overwritten assignment.
diff --git a/NEWS b/NEWS
index ef98268..85c7ac3 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,7 @@ Version 2.21
* The following bugs are resolved with this release:
- 6652, 14171, 17266, 17363, 17370, 17371, 17411.
+ 6652, 14171, 17266, 17363, 17370, 17371, 17411, 17555.
Version 2.20
diff --git a/sysdeps/aarch64/start.S b/sysdeps/aarch64/start.S
index 35d603a..69b45ea 100644
--- a/sysdeps/aarch64/start.S
+++ b/sysdeps/aarch64/start.S
@@ -47,7 +47,6 @@ _start:
/* Create an initial frame with 0 LR and FP */
mov x29, #0
mov x30, #0
- mov x29, sp
/* Setup rtld_fini in argument register */
mov x5, x0