On Fri, Aug 19, 2016 at 11:56:05AM +0100, Richard W.M. Jones wrote:
> The original port of strace was done by Palmer Dabbelt
> (eecs.berkeley.edu), based on strace 4.9.
[...]
> diff --git a/file.c b/file.c
> index 2ff0ac7..24b10b1 100644
> --- a/file.c
> +++ b/file.c
> @@ -148,7 +148,7 @@ SYS_FUNC(fstat)
>  }
>  
>  #if defined STAT32_PERSONALITY && !defined HAVE_STRUCT_STAT64
> -# if defined AARCH64 || defined X86_64 || defined X32
> +# if defined AARCH64 || defined X86_64 || defined X32 || defined RISCV
>  /*
>   * Linux x86_64 and x32 have unified `struct stat' but their i386 personality
>   * needs `struct stat64'.
> @@ -186,7 +186,7 @@ struct stat64 {
>  #  endif
>  ;
>  #  define HAVE_STRUCT_STAT64 1
> -# else /* !(AARCH64 || X86_64 || X32) */
> +# else /* !(AARCH64 || X86_64 || X32 || RISCV) */
>  #  warning FIXME: check whether struct stat64 definition is needed for this 
> architecture!
>  # endif
>  #endif /* STAT32_PERSONALITY && !HAVE_STRUCT_STAT64 */

Does riscv implement 32-bit stat syscalls at all?
I'd be surprised if it did.
According to its asm/unistd.h file, it doesn't, so no change to file.c
is needed, and ...

> diff --git a/linux/riscv/stat32.h b/linux/riscv/stat32.h
> new file mode 100644
> index 0000000..802610e
> --- /dev/null
> +++ b/linux/riscv/stat32.h
> @@ -0,0 +1 @@
> +#include "x86_64/stat32.h"

... this file should be copied from e.g. linux/tile/stat32.h


-- 
ldv

Attachment: pgpAKu4Dr1yWT.pgp
Description: PGP signature

------------------------------------------------------------------------------
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to