Forwarding to qemu-devel@.
http://bugs.debian.org/920032
Thanks!
21.01.2019 22:09, Ben Hutchings wrote:
Package: qemu-user
Version: 1:3.1+dfsg-2
Severity: important
Tags: patch
On sparc (only) Linux defines timeval::tv_usec with type int, not
long. However qemu-user's definition of struct target_timeval uses
abi_long unconditionally. This results in the syscall translation
layer effectively multiplying tv_usec by 2**32. All sparc syscalls
passing non-zero values for this field fail with -EINVAL. The
following patch seems to fix this.
Ben.
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -210,7 +210,11 @@ struct target_linger {
struct target_timeval {
abi_long tv_sec;
+#if defined (TARGET_SPARC)
+ abi_int tv_usec;
+#else
abi_long tv_usec;
+#endif
};
struct target_timespec {
--- END ---
-- System Information:
Debian Release: buster/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500,
'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8),
LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages qemu-user depends on:
ii libc6 2.28-3
ii libcapstone3 3.0.5-3
ii libgcc1 1:8.2.0-13
ii libglib2.0-0 2.58.1-2
ii libstdc++6 8.2.0-13
ii zlib1g 1:1.2.11.dfsg-1
Versions of packages qemu-user recommends:
ii qemu-user-static [qemu-user-binfmt] 1:3.1+dfsg-2
Versions of packages qemu-user suggests:
ii sudo 1.8.26-2
-- no debconf information