On 3/30/23 15:18, Philippe Mathieu-Daudé wrote:
The 64-bit SPARC V9 syscall ABI uses 32-bit UIDs. Only enable the 16-bit UID wrappers for 32-bit SPARC (V7 and V8).Possibly missed in commit 992f48a036 ("Support for 32 bit ABI on 64 bit targets (only enabled Sparc64)"). Reported-by: Gregor Riepl <[email protected]> Tested-by: John Paul Adrian Glaubitz <[email protected]> Tested-by: Zach van Rijn <[email protected]> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1394 Signed-off-by: Philippe Mathieu-Daudé <[email protected]> Reviewed-by: Richard Henderson <[email protected]> Acked-by: Laurent Vivier <[email protected]> Message-Id: <[email protected]> --- linux-user/syscall_defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 614a1cbc8e..cc37054cb5 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -61,7 +61,7 @@#if (defined(TARGET_I386) && defined(TARGET_ABI32)) \|| (defined(TARGET_ARM) && defined(TARGET_ABI32)) \ - || defined(TARGET_SPARC) \ + || (defined(TARGET_SPARC) && defined(TARGET_ABI32)) \ || defined(TARGET_M68K) || defined(TARGET_SH4) || defined(TARGET_CRIS) /* 16 bit uid wrappers emulation */ #define USE_UID16
This patch breaks something with LTP (20230127) test fchown05_16 on sid/sparc64: tst_test.c:1558: TINFO: Timeout per run is 0h 00m 30s fchown05.c:44: TPASS: fchown(3, 700, 701), change owner/group ids passed fchown05.c:44: TPASS: fchown(3, 702, -1), change owner id only passed fchown05.c:49: TFAIL: testfile: incorrect ownership set, expected 702 701 fchown05.c:44: TPASS: fchown(3, 703, 701), change owner id only passed fchown05.c:44: TPASS: fchown(3, -1, 704), change group id only passed fchown05.c:49: TFAIL: testfile: incorrect ownership set, expected 703 704 fchown05.c:44: TPASS: fchown(3, 703, 705), change group id only passed fchown05.c:44: TPASS: fchown(3, -1, -1), no change passed fchown05.c:49: TFAIL: testfile: incorrect ownership set, expected 703 705 expected result; tst_test.c:1558: TINFO: Timeout per run is 0h 00m 30s fchown05.c:44: TPASS: fchown(3, 700, 701), change owner/group ids passed fchown05.c:44: TPASS: fchown(3, 702, -1), change owner id only passed fchown05.c:44: TPASS: fchown(3, 703, 701), change owner id only passed fchown05.c:44: TPASS: fchown(3, -1, 704), change group id only passed fchown05.c:44: TPASS: fchown(3, 703, 705), change group id only passed fchown05.c:44: TPASS: fchown(3, -1, -1), no change passed Thanks, Laurent
