cross-compiling strace 4.20 for ARM

Felix von Leitner felix-strace at fefe.de
Wed Nov 22 09:38:54 UTC 2017


Hi Dmitry,

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.

> > So far so good, but the next one is stumping me:
> > 
> > pathtrace.c: In function 'pathtrace_match_set':
> > pathtrace.c:166:7: error: 'SEN_dup2' undeclared (first use in this function); did you mean 'sys_dup2'?
> >   case SEN_dup2:
> >        ^~~~~~~~
> >        sys_dup2
> > pathtrace.c:166:7: note: each undeclared identifier is reported only once for each function it appears in
> > pathtrace.c:167:7: error: 'SEN_dup3' undeclared (first use in this function); did you mean 'SEN_dup2'?
> >   case SEN_dup3:
> >        ^~~~~~~~
> >        SEN_dup2
> > 
> > (and so on for dozens of syscalls). Where are these symbols supposed to come from? What am I doing wrong?

> 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.

Felix




More information about the Strace-devel mailing list