summary refs log tree commit diff stats
path: root/results/classifier/105/device/1564
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/105/device/1564')
-rw-r--r--results/classifier/105/device/156483
1 files changed, 83 insertions, 0 deletions
diff --git a/results/classifier/105/device/1564 b/results/classifier/105/device/1564
new file mode 100644
index 00000000..17d66c07
--- /dev/null
+++ b/results/classifier/105/device/1564
@@ -0,0 +1,83 @@
+device: 0.985
+graphic: 0.721
+socket: 0.469
+network: 0.436
+boot: 0.394
+instruction: 0.339
+vnc: 0.297
+KVM: 0.249
+mistranslation: 0.241
+semantic: 0.229
+assembly: 0.101
+other: 0.047
+
+stat64 on sparc64 failed to get correct major/minor dev
+Description of problem:
+The reported device major/minor is not correct, e.g: stat /dev/zero:
+Reported: Device type: 0,10500000
+Correct : Device type: 1,5
+Steps to reproduce:
+1. "stat /dev/zero" or "ls -l /dev/zero"
+Additional information:
+The problem is a missing padding into target_stat64 struct related to sparc64. Here patch to solve the issue (it also fixes some incorrect variables size):
+
+```
+--- qemu-20230327/linux-user/syscall_defs.h	2023-03-27 15:41:42.000000000 +0200
++++ qemu-20230327/linux-user/syscall_defs.h.new	2023-03-27 21:43:25.615115126 +0200
+@@ -1450,7 +1450,7 @@ struct target_stat {
+ 	unsigned int	st_dev;
+ 	abi_ulong	st_ino;
+ 	unsigned int	st_mode;
+-	unsigned int	st_nlink;
++	short int	st_nlink;
+ 	unsigned int	st_uid;
+ 	unsigned int	st_gid;
+ 	unsigned int	st_rdev;
+@@ -1465,8 +1465,7 @@ struct target_stat {
+ 
+ #define TARGET_HAS_STRUCT_STAT64
+ struct target_stat64 {
+-	unsigned char	__pad0[6];
+-	unsigned short	st_dev;
++	uint64_t	st_dev;
+ 
+ 	uint64_t	st_ino;
+ 	uint64_t	st_nlink;
+@@ -1476,14 +1475,13 @@ struct target_stat64 {
+ 	unsigned int	st_uid;
+ 	unsigned int	st_gid;
+ 
+-	unsigned char	__pad2[6];
+-	unsigned short	st_rdev;
++	unsigned int	__pad0;
++	uint64_t	st_rdev;
+ 
+         int64_t		st_size;
+ 	int64_t		st_blksize;
+ 
+-	unsigned char	__pad4[4];
+-	unsigned int	st_blocks;
++	int64_t		st_blocks;
+ 
+ 	abi_ulong	target_st_atime;
+ 	abi_ulong	target_st_atime_nsec;
+@@ -1522,8 +1520,7 @@ struct target_stat {
+ 
+ #define TARGET_HAS_STRUCT_STAT64
+ struct target_stat64 {
+-	unsigned char	__pad0[6];
+-	unsigned short	st_dev;
++	uint64_t st_dev;
+ 
+ 	uint64_t st_ino;
+ 
+@@ -1533,8 +1530,7 @@ struct target_stat64 {
+ 	unsigned int	st_uid;
+ 	unsigned int	st_gid;
+ 
+-	unsigned char	__pad2[6];
+-	unsigned short	st_rdev;
++	uint64_t        st_rdev;
+ 
+ 	unsigned char	__pad3[8];
+```