freebsd-ports/emulators/qemu-devel/files/extra-patch-bsd-user-sparc64-target_arch_cpu.h
Juergen Lock b3f3b52f4a Four more bsd-user fixes, poudriere now builds more armv6 packages
and sparc64 dynamic exectuables get a little further:

- Fix crashes with long argv invocations. [1]
- Fix ARMv6 stack alignment in a new thread. [1]
- sparc64: sync ccr before changing carry flag.
- Writing to readonly page can cause trap 0xc on FreeBSD too.
- Bump PORTREVISION.

Submitted by:	sson [1]
2014-07-06 16:11:28 +00:00

20 lines
783 B
C

From nox Mon Sep 17 00:00:00 2001
From: Juergen Lock <nox@jelal.kn-bremen.de>
Date: 06 Jul 2014 13:23:00 +0200
Subject: sparc64-bsd-user: sync ccr before changing carry flag
Sync ccr so that changing carry flag manually after syscall works
properly.
Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
--- a/bsd-user/sparc64/target_arch_cpu.h
+++ b/bsd-user/sparc64/target_arch_cpu.h
@@ -77,6 +77,7 @@ static inline void target_cpu_loop(CPUSP
env->regwptr[2], env->regwptr[3],
env->regwptr[4], env->regwptr[5]);
}
+ cpu_put_ccr(env, cpu_get_ccr(env));
if ((unsigned int)ret >= (unsigned int)(-515)) {
ret = -ret;
#if !defined(TARGET_ABI32)