Browse Source

hurd: Generalize init-first.c to support x86_64

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230223151436.49180-2-bugaevc@gmail.com>
azanella/bz12683
Sergey Bugaev 3 years ago
committed by Samuel Thibault
parent
commit
9168964965
  1. 6
      sysdeps/mach/hurd/x86/init-first.c

6
sysdeps/mach/hurd/i386/init-first.c → sysdeps/mach/hurd/x86/init-first.c

@ -225,9 +225,15 @@ _hurd_stack_setup (void)
void doinit (intptr_t *data)
{
init ((void **) data);
# ifdef __x86_64__
asm volatile ("movq %0, %%rsp\n" /* Switch to new outermost stack. */
"xorq %%rbp, %%rbp\n" /* Clear outermost frame pointer. */
"jmp *%1" : : "r" (data), "r" (caller));
# else
asm volatile ("movl %0, %%esp\n" /* Switch to new outermost stack. */
"xorl %%ebp, %%ebp\n" /* Clear outermost frame pointer. */
"jmp *%1" : : "r" (data), "r" (caller));
# endif
__builtin_unreachable ();
}
Loading…
Cancel
Save