[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] ARM64 STR Instruction Crash Regression in TCG
From: |
Jason A. Donenfeld |
Subject: |
[Qemu-arm] ARM64 STR Instruction Crash Regression in TCG |
Date: |
Sun, 22 Jul 2018 22:47:06 +0200 |
Hello,
Gcc 7.3 compiles bash's array_flush's dual assignment using:
STP X20, X20, [X20,#0x10]
But gcc 8.1 compiles it as:
STR Q0, [X20,#0x10]
Real processors seem okay, and qemu 2.11 seems okay. But qemu 2.12
results in a segfaulting process. I'm pretty sure this is a TCG bug.
In the attached tarball, please find kernel and run.sh. Calling
./run.sh will start the kernel with the bad bash executable that tries
to execute `config=({1..100000})` and crashes. Also included in there
is the actual crashing bash binary, in case you'd like to disassemble
a little bit.
This is affecting builds on https://www.wireguard.com/build-status/ --
as you can see, at the moment aarch64 is failing.
Regards,
Jason
[ attachment: https://data.zx2c4.com/bash-qemu-arm64-crash.tar.xz ]
- [Qemu-arm] ARM64 STR Instruction Crash Regression in TCG,
Jason A. Donenfeld <=