Do not clobber sp in _hurd_stack_setup
Commit Message
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.
2018-12-13 Joseph Myers <joseph@codesourcery.com>
* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Do not
clobber sp.
Comments
Joseph Myers, le jeu. 13 déc. 2018 18:09:21 +0000, a ecrit:
> 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.
Since the code does not return there is no use for a clobber anyway :)
Please commit, thanks!
> Tested with build-many-glibcs.py for i686-gnu.
>
> 2018-12-13 Joseph Myers <joseph@codesourcery.com>
>
> * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Do not
> clobber sp.
>
> 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 */
> }
>
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
>
@@ -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 */
}