aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-12-13 22:36:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-12-13 22:36:33 +0000
commitdb6df070cfff9ba78a72346208859b3fdee09561 (patch)
tree0e1211c1aa72add6c5690c25e72fc6008324c505
parentade8b817fead73b302d08c88cd44ea2ea56793d4 (diff)
downloadglibc-db6df070cfff9ba78a72346208859b3fdee09561.tar
glibc-db6df070cfff9ba78a72346208859b3fdee09561.tar.gz
glibc-db6df070cfff9ba78a72346208859b3fdee09561.tar.bz2
glibc-db6df070cfff9ba78a72346208859b3fdee09561.zip
Do not clobber sp in _hurd_stack_setup.
GCC mainline now gives errors for an asm that clobbers the stack pointer. According to <https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00932.html> GCC previously ignored such a clobber; thus, this patch removes it from _hurd_stack_setup. Tested with build-many-glibcs.py for i686-gnu. * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Do not clobber sp.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/mach/hurd/i386/init-first.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e457d581e9..e419448fe6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-13 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Do not
+ clobber sp.
+
2018-12-13 fanjinke <fanjinke@hygon.cn>
* sysdeps/x86/cpu-features.c (init_cpu_features): Check for
diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
index f8ad2ceb8e..e3d5797266 100644
--- a/sysdeps/mach/hurd/i386/init-first.c
+++ b/sysdeps/mach/hurd/i386/init-first.c
@@ -361,7 +361,7 @@ _hurd_stack_setup (void)
*--data = caller;
asm volatile ("movl %0, %%esp\n" /* Switch to new outermost stack. */
"movl $0, %%ebp\n" /* Clear outermost frame pointer. */
- "jmp *%1" : : "r" (data), "r" (&doinit1) : "sp");
+ "jmp *%1" : : "r" (data), "r" (&doinit1));
/* NOTREACHED */
}