cross-compiling strace 4.20 for ARM
Felix von Leitner
felix-strace at fefe.de
Wed Nov 22 09:49:12 UTC 2017
> thanks for the quick help!
> > > So I add an
> > >
> > > #ifndef IOV_MAX
> > > #define IOV_MAX 1024
> > > #endif
> > >
> > > Same issue in msghdr.c.
> > IOV_MAX *must* be provided by <limits.h>; if it isn't, then your cross-compiling
> > environment is not quite functional.
> A-ha! That gets me somewhere. I'll investigate.
Interestingly enough, IOV_MAX is not even defined by limits.h on my
non-cross-setup that compiled strace just fine:
$ gcc -E -
#include <limits.h>
IOV_MAX
[Ctrl-D]
->
[...]
# 2 "<stdin>" 2
IOV_MAX
Most bizarre. It does appear if I define _GNU_SOURCE — both on ARM and
on x86_64.
Are you sure about this?
> > All these constants are generated during build,
> > their definitions should be in sen.h file.
> All right! Turns out you run
> cat -- linux/xtensa/syscallent.h
> and the -- is a GNU extension that my cat does not understand. I'll
> re-run the build with GNU cat now.
If I support "cat -- foo.c" in my cat, the build goes though (modulo the
IOV_MAX issue).
Thanks for the help!
Felix
More information about the Strace-devel
mailing list