summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Fedotov-B55613 <b55613@freescale.com>2017-08-22 17:06:54 +0300
committerCorinna Vinschen <corinna@vinschen.de>2017-08-24 14:41:19 +0200
commit3ec9892f5dd6240d8b21c8cad7874ea856040626 (patch)
treedf86940acea6cb3c899c3209af2336a4e9426442
parentb706c6b479422d31f0124b92c21b4cb536bbddff (diff)
downloadcygnal-3ec9892f5dd6240d8b21c8cad7874ea856040626.tar.gz
cygnal-3ec9892f5dd6240d8b21c8cad7874ea856040626.tar.bz2
cygnal-3ec9892f5dd6240d8b21c8cad7874ea856040626.zip
move ILP32 sanity check on heap base code under ARM_RDI_MONITOR
-rw-r--r--libgloss/aarch64/crt0.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/libgloss/aarch64/crt0.S b/libgloss/aarch64/crt0.S
index 4ad435e03..f670e0373 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