Hi Laurent, What is your plan for this patch? Technically this is a bugfix.
On 11/16/21 22:09, Philippe Mathieu-Daudé wrote: > Linux Hexagon port doesn't define a specific 'struct stat' > but uses the generic one (see Linux commit 6103ec56c65c [*] > "asm-generic: add generic ABI headers" which predates the > introduction of the Hexagon port). > > Remove the target specific target_stat (which in fact is the > target_stat64 structure but uses incorrect target_long and > ABI unsafe long long types) and use the generic target_stat64 > instead. > > [*] > https://github.com/torvalds/linux/commit/6103ec56c65c3#diff-5f59b07b38273b7d6a74193bc81a8cd18928c688276eae20cb10c569de3253ee > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > linux-user/syscall_defs.h | 28 ++-------------------------- > 1 file changed, 2 insertions(+), 26 deletions(-) > > diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h > index a5ce487dcc3..7ab612d163b 100644 > --- a/linux-user/syscall_defs.h > +++ b/linux-user/syscall_defs.h > @@ -2129,7 +2129,8 @@ struct target_stat64 { > abi_ulong __unused5; > }; > > -#elif defined(TARGET_OPENRISC) || defined(TARGET_NIOS2) || > defined(TARGET_RISCV) > +#elif defined(TARGET_OPENRISC) || defined(TARGET_NIOS2) \ > + || defined(TARGET_RISCV) || defined(TARGET_HEXAGON) > > /* These are the asm-generic versions of the stat and stat64 structures */ > > @@ -2240,31 +2241,6 @@ struct target_stat64 { > uint64_t st_ino; > }; > > -#elif defined(TARGET_HEXAGON) > - > -struct target_stat { > - unsigned long long st_dev; > - unsigned long long st_ino; > - unsigned int st_mode; > - unsigned int st_nlink; > - unsigned int st_uid; > - unsigned int st_gid; > - unsigned long long st_rdev; > - target_ulong __pad1; > - long long st_size; > - target_long st_blksize; > - int __pad2; > - long long st_blocks; > - > - target_long target_st_atime; > - target_long target_st_atime_nsec; > - target_long target_st_mtime; > - target_long target_st_mtime_nsec; > - target_long target_st_ctime; > - target_long target_st_ctime_nsec; > - int __unused[2]; > -}; > - > #else > #error unsupported CPU > #endif >