about summary refs log tree commit diff
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.gz
glibc-db6df070cfff9ba78a72346208859b3fdee09561.tar.xz
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 */
     }