summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2017-02-15 21:18:53 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2017-02-15 21:18:53 +0000
commit7cbc48e37e5a8b89c13486fe8392223b0091a559 (patch)
treed70dc3d7f982983a7d8309eaa73be12ba2644007
parentcd09a506cb7d33eec8baabe47faeb32cc2bec3e3 (diff)
Make this build (and run) with gcc 4.
-rw-r--r--libexec/ld.so/m88k/rtld_machine.c4
-rw-r--r--sys/arch/m88k/include/tcb.h8
-rw-r--r--sys/arch/m88k/m88k/trap.c10
3 files changed, 13 insertions, 9 deletions
diff --git a/libexec/ld.so/m88k/rtld_machine.c b/libexec/ld.so/m88k/rtld_machine.c
index 5ebf997b576..586a84cff9c 100644
--- a/libexec/ld.so/m88k/rtld_machine.c
+++ b/libexec/ld.so/m88k/rtld_machine.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtld_machine.c,v 1.19 2017/01/24 10:52:33 guenther Exp $ */
+/* $OpenBSD: rtld_machine.c,v 1.20 2017/02/15 21:18:52 miod Exp $ */
/*
* Copyright (c) 2013 Miodrag Vallat.
@@ -395,7 +395,7 @@ _dl_bind(elf_object_t *object, int reloff)
__asm volatile("tb0 0, %%r0, 450; or %%r0, %%r0, %%r0"
: "+r" (arg1), "+r" (arg2) : "r" (syscall_num),
- "r" (arg3), "r" (arg4) : "cc", "memory");
+ "r" (arg3), "r" (arg4) : "memory");
}
return (buf.newval);
diff --git a/sys/arch/m88k/include/tcb.h b/sys/arch/m88k/include/tcb.h
index b4c798ec33d..5b37acce6e2 100644
--- a/sys/arch/m88k/include/tcb.h
+++ b/sys/arch/m88k/include/tcb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcb.h,v 1.4 2016/09/04 08:49:35 guenther Exp $ */
+/* $OpenBSD: tcb.h,v 1.5 2017/02/15 21:18:52 miod Exp $ */
/*
* Copyright (c) 2011 Philip Guenther <guenther@openbsd.org>
@@ -46,13 +46,13 @@
*/
#define TLS_VARIANT 1
-#if defined(__GNUC__) && __GNUC__ > 4
+#if defined(__GNUC__) && __GNUC__ >= 4
register void *__tcb __asm__ ("%r27");
#define TCB_GET() (__tcb)
#define TCB_SET(tcb) ((__tcb) = (tcb))
-#else /* __GNUC__ > 4 */
+#else /* __GNUC__ >= 4 */
/* Get a pointer to the TCB itself */
static inline void *
@@ -66,7 +66,7 @@ __m88k_get_tcb(void)
#define TCB_GET() __m88k_get_tcb()
#define TCB_SET(tcb) __asm volatile("or %%r27,%0,%r0" : : "r" (tcb))
-#endif /* __GNUC__ > 4 */
+#endif /* __GNUC__ >= 4 */
#endif /* _KERNEL */
#endif /* _MACHINE_TCB_H_ */
diff --git a/sys/arch/m88k/m88k/trap.c b/sys/arch/m88k/m88k/trap.c
index 35c54855e32..de8a5f2fdd0 100644
--- a/sys/arch/m88k/m88k/trap.c
+++ b/sys/arch/m88k/m88k/trap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: trap.c,v 1.105 2016/10/19 08:31:33 guenther Exp $ */
+/* $OpenBSD: trap.c,v 1.106 2017/02/15 21:18:52 miod Exp $ */
/*
* Copyright (c) 2004, Miodrag Vallat.
* Copyright (c) 1998 Steve Murphree, Jr.
@@ -1146,7 +1146,9 @@ m88100_syscall(register_t code, struct trapframe *tf)
struct sysent *callp;
struct proc *p = curproc;
int error;
- register_t args[8], rval[2], *ap;
+ register_t args[8] __aligned(8);
+ register_t rval[2] __aligned(8);
+ register_t *ap;
uvmexp.syscalls++;
@@ -1267,7 +1269,9 @@ m88110_syscall(register_t code, struct trapframe *tf)
struct sysent *callp;
struct proc *p = curproc;
int error;
- register_t args[8], rval[2], *ap;
+ register_t args[8] __aligned(8);
+ register_t rval[2] __aligned(8);
+ register_t *ap;
uvmexp.syscalls++;