[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: timespec test failure on Linux/s390x
From: |
Paul Eggert |
Subject: |
Re: timespec test failure on Linux/s390x |
Date: |
Sun, 12 Sep 2021 12:40:03 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 |
On 9/12/21 8:28 AM, Bruno Haible wrote:
I can't determine whether it's a GCC or a QEMU bug.
Surely it is a QEMU bug, as QEMU isn't properly implementing the
z/Architecture Principles of Operation (POP). Page 7-25 of the current
edition (SA22-7832-12) says that the AGR instruction treats its operands
as 64-bit signed binary integers, and sets condition code 3 (the
overflow flag) if the result overflows. You can get a copy of the POP
here (requires registration):
https://www.ibm.com/support/pages/zarchitecture-principles-operation
The QEMU bug hypothesis
looks more probable to me, so I've opened this ticket:
https://gitlab.com/qemu-project/qemu/-/issues/616
The patch you submitted to QEMU looks reasonable. However, there are
similar bugs in cc_calc_sub_32 and cc_calc_sub_64 that should also be
fixed. I attempted to submit a comment to that effect on the gitlab.com
website but couldn't easily figure out how to make commenting work there.