Good morning! I'm trying to debug an embedded Linux box that does not come with an strace, so I figured I'd cross compile strace for it. It is not going so well. Any help appreciated.
First obstacle: mmsghdr.c:97:14: error: 'IOV_MAX' undeclared here (not in a function); did you mean 'INT_MAX'? int namelen[IOV_MAX]; ^~~~~~~ INT_MAX (This is gcc 7.1 for arm-linux-gnueabi, with binutils 2.29 and a freshly compiled glibc 2.26). So I add an #ifndef IOV_MAX #define IOV_MAX 1024 #endif Same issue in msghdr.c. 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? For the record: compiling strace natively for x86_64 works with the same glibc. Kernel headers are from Linux 4.14 for both ARM and x86_64. Thanks, Felix ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel