diff options
author | Alexander Fedotov-B55613 <b55613@freescale.com> | 2017-08-22 17:06:54 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2017-08-24 14:41:19 +0200 |
commit | 3ec9892f5dd6240d8b21c8cad7874ea856040626 (patch) | |
tree | df86940acea6cb3c899c3209af2336a4e9426442 /libgloss/aarch64 | |
parent | b706c6b479422d31f0124b92c21b4cb536bbddff (diff) | |
download | newlib-3ec9892f5dd6240d8b21c8cad7874ea856040626.zip newlib-3ec9892f5dd6240d8b21c8cad7874ea856040626.tar.gz newlib-3ec9892f5dd6240d8b21c8cad7874ea856040626.tar.bz2 |
move ILP32 sanity check on heap base code under ARM_RDI_MONITOR
Diffstat (limited to 'libgloss/aarch64')
-rw-r--r-- | libgloss/aarch64/crt0.S | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libgloss/aarch64/crt0.S b/libgloss/aarch64/crt0.S index 4ad435e..f670e03 100644 --- a/libgloss/aarch64/crt0.S +++ b/libgloss/aarch64/crt0.S @@ -101,10 +101,7 @@ exposed here in the HeapInfo Angel call. */ ldr x0, .LC0 /* point at returned values */ ldr x1, [x0, #8] /* get heap_limit */ -#else - /* Set up the stack pointer to a fixed value. */ - ldr x1, .Lstack -#endif + #ifdef __ILP32__ /* Sanity check on the heap base. */ ldr x0, [x0] /* get heap_base */ @@ -128,6 +125,10 @@ tst x1, #0xffffffff00000000 csinv w1, w1, wzr, eq #endif +#else + /* Set up the stack pointer to a fixed value. */ + ldr x1, .Lstack +#endif /* Ensure quad-word stack alignment. */ and x0, x1, #~15 |