|
| From: | Richard Henderson |
| Subject: | Re: [PATCH 2/3] linux-user/arm: Implement __kernel_cmpxchg with host atomics |
| Date: | Tue, 22 Mar 2022 17:41:35 -0700 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
On 3/22/22 13:08, Laurent Vivier wrote:
I have removed this patch and the following one from the branch because it hangs when
executed in an armhf/bionic chroot the following example:
cat > /tmp/hello.go <<EOF
package main
import "fmt"
func main() {
fmt.Println("Hello Google!")
}
EOF
go run /tmp/hello.go
I don't see a hang. I see a SIGBUS, due to a silly typo here:
+static void arm_kernel_cmpxchg32_helper(CPUARMState *env)
+{
+ uint32_t oldval, newval, val, addr, cpsr, *host_addr;
+
+ oldval = env->regs[0];
+ newval = env->regs[1];
+ addr = env->regs[2];
+
+ mmap_lock();
+ host_addr = atomic_mmu_lookup(env, addr, 8);
s/8/4/. r~
| [Prev in Thread] | Current Thread | [Next in Thread] |