aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/i386/static-start.S
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2024-01-03 20:14:40 +0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-01-04 23:47:03 +0100
commit24b707c1665afae7eb302542ffa92d53aa577111 (patch)
tree04f19e3654af1112eafd57f2f838097d1c6c147d /sysdeps/mach/hurd/i386/static-start.S
parent35694d3416b273ac19d67ffa49b7969f36684ae1 (diff)
downloadglibc-24b707c1665afae7eb302542ffa92d53aa577111.tar
glibc-24b707c1665afae7eb302542ffa92d53aa577111.tar.gz
glibc-24b707c1665afae7eb302542ffa92d53aa577111.tar.bz2
glibc-24b707c1665afae7eb302542ffa92d53aa577111.zip
hurd: Pass the data pointer to _hurd_stack_setup explicitly
Instead of relying on the stack frame layout to figure out where the stack pointer was prior to the _hurd_stack_setup () call, just pass the pointer as an argument explicitly. This is less brittle and much more portable. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-ID: <20240103171502.1358371-8-bugaevc@gmail.com>
Diffstat (limited to 'sysdeps/mach/hurd/i386/static-start.S')
-rw-r--r--sysdeps/mach/hurd/i386/static-start.S3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/i386/static-start.S b/sysdeps/mach/hurd/i386/static-start.S
index d83505b2bc..3ffcb47d90 100644
--- a/sysdeps/mach/hurd/i386/static-start.S
+++ b/sysdeps/mach/hurd/i386/static-start.S
@@ -19,7 +19,10 @@
.text
.globl _start
_start:
+ pushl %esp
call _hurd_stack_setup
+ /* No need to "addl %4, %esp", since _hurd_stack_setup
+ * returns with an already adjusted stack pointer. */
xorl %edx, %edx
jmp _start1