cross-compiling strace 4.20 for ARM
Felix von Leitner
felix-strace at fefe.de
Wed Nov 22 09:38:54 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.
> > 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.
More information about the Strace-devel