[PATCH v2] Build strace for RISC-V
Richard W.M. Jones
rjones at redhat.com
Fri Aug 19 13:16:00 UTC 2016
On Fri, Aug 19, 2016 at 02:47:48PM +0300, Dmitry V. Levin wrote:
> 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
Right, as a brand new architecture they shouldn't be
implementing broken old stat.
I'll send a v3 with these two changes shortly.
Thanks,
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
More information about the Strace-devel
mailing list