defs: use register output only for FETCH_LINKPTR
parent
638770cfd0
commit
e1e6508af2
|
@ -19,7 +19,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FETCH_LINKPTR(dest) \
|
#define FETCH_LINKPTR(dest) \
|
||||||
asm("mov x0, %0" : "=rm" ((dest)))
|
asm("mov x0, %0" : "=r" ((dest)))
|
||||||
|
|
||||||
#include "common-defs.h"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#define TYPE(__proc)
|
#define TYPE(__proc)
|
||||||
|
|
||||||
#define FETCH_LINKPTR(dest) \
|
#define FETCH_LINKPTR(dest) \
|
||||||
asm("movs r0, %0" : "=rm" ((dest)))
|
asm("movs r0, %0" : "=r" ((dest)))
|
||||||
|
|
||||||
#include "common-defs.h"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ libucontext_trampoline(void)
|
||||||
{
|
{
|
||||||
libucontext_ucontext_t *uc_link;
|
libucontext_ucontext_t *uc_link;
|
||||||
|
|
||||||
|
// FIXME: there's no guarantee that input is not clobbered!
|
||||||
FETCH_LINKPTR(uc_link);
|
FETCH_LINKPTR(uc_link);
|
||||||
|
|
||||||
if (uc_link == NULL)
|
if (uc_link == NULL)
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#define PC_OFFSET REG_OFFSET(REG_PC)
|
#define PC_OFFSET REG_OFFSET(REG_PC)
|
||||||
|
|
||||||
#define FETCH_LINKPTR(dest) \
|
#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"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
#define PC_OFFSET REG_OFFSET(REG_PC)
|
#define PC_OFFSET REG_OFFSET(REG_PC)
|
||||||
|
|
||||||
#define FETCH_LINKPTR(dest) \
|
#define FETCH_LINKPTR(dest) \
|
||||||
asm("mv %0, s1" : "=rm" ((dest)))
|
asm("mv %0, s1" : "=r" ((dest)))
|
||||||
|
|
||||||
#include "common-defs.h"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#define REG_MACL (21)
|
#define REG_MACL (21)
|
||||||
|
|
||||||
#define FETCH_LINKPTR(dest) \
|
#define FETCH_LINKPTR(dest) \
|
||||||
asm("mov r8, %0" : "=rm" (dest));
|
asm("mov r8, %0" : "=r" (dest));
|
||||||
|
|
||||||
#include "common-defs.h"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
#define MCONTEXT_GREGS (20)
|
#define MCONTEXT_GREGS (20)
|
||||||
|
|
||||||
#define FETCH_LINKPTR(dest) \
|
#define FETCH_LINKPTR(dest) \
|
||||||
asm("movl (%%esp, %%ebx, 4), %0" : "=rm" ((dest)));
|
asm("movl (%%esp, %%ebx, 4), %0" : "=r" ((dest)));
|
||||||
|
|
||||||
#include "common-defs.h"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#define REG_SZ (8)
|
#define REG_SZ (8)
|
||||||
|
|
||||||
#define FETCH_LINKPTR(dest) \
|
#define FETCH_LINKPTR(dest) \
|
||||||
asm("movq (%%rbx), %0" : "=rm" ((dest)));
|
asm("movq (%%rbx), %0" : "=r" ((dest)));
|
||||||
|
|
||||||
#include "common-defs.h"
|
#include "common-defs.h"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue