defs: use register output only for FETCH_LINKPTR

master
osy 2021-01-02 18:17:28 -08:00 committed by Ariadne Conill
parent 638770cfd0
commit e1e6508af2
8 changed files with 8 additions and 7 deletions

View File

@ -19,7 +19,7 @@
#endif
#define FETCH_LINKPTR(dest) \
asm("mov x0, %0" : "=rm" ((dest)))
asm("mov x0, %0" : "=r" ((dest)))
#include "common-defs.h"

View File

@ -6,7 +6,7 @@
#define TYPE(__proc)
#define FETCH_LINKPTR(dest) \
asm("movs r0, %0" : "=rm" ((dest)))
asm("movs r0, %0" : "=r" ((dest)))
#include "common-defs.h"

View File

@ -19,6 +19,7 @@ libucontext_trampoline(void)
{
libucontext_ucontext_t *uc_link;
// FIXME: there's no guarantee that input is not clobbered!
FETCH_LINKPTR(uc_link);
if (uc_link == NULL)

View File

@ -27,7 +27,7 @@
#define PC_OFFSET REG_OFFSET(REG_PC)
#define FETCH_LINKPTR(dest) \
asm("mov.l (%%sp, %%d7.l * 4), %0" : "=rm" ((dest)))
asm("mov.l (%%sp, %%d7.l * 4), %0" :: "r" ((dest)))
#include "common-defs.h"

View File

@ -48,7 +48,7 @@
#define PC_OFFSET REG_OFFSET(REG_PC)
#define FETCH_LINKPTR(dest) \
asm("mv %0, s1" : "=rm" ((dest)))
asm("mv %0, s1" : "=r" ((dest)))
#include "common-defs.h"

View File

@ -13,7 +13,7 @@
#define REG_MACL (21)
#define FETCH_LINKPTR(dest) \
asm("mov r8, %0" : "=rm" (dest));
asm("mov r8, %0" : "=r" (dest));
#include "common-defs.h"

View File

@ -60,7 +60,7 @@
#define MCONTEXT_GREGS (20)
#define FETCH_LINKPTR(dest) \
asm("movl (%%esp, %%ebx, 4), %0" : "=rm" ((dest)));
asm("movl (%%esp, %%ebx, 4), %0" : "=r" ((dest)));
#include "common-defs.h"

View File

@ -32,7 +32,7 @@
#define REG_SZ (8)
#define FETCH_LINKPTR(dest) \
asm("movq (%%rbx), %0" : "=rm" ((dest)));
asm("movq (%%rbx), %0" : "=r" ((dest)));
#include "common-defs.h"