<div dir="ltr">Hi all! First off a quick bit of history. I have a Checkpoint firewall running busybox with glibc 2.5 linux 2.6.22.18 and a arm ARM926EJ-S rev 1 (v5l). I spent around 3 months pushing my known how, but after countless searches, lfs attempts and many rounds of cursing, I have what I think its a working cross compile environment. Strace was one of the main reasons I wanted to do get this cross compiler going.<div><br></div><div>So.. Now that I have done that and found that strace will crash when i using the -f option when calling checkpoint's cli utility. I don't know if there are other commands that will do this, but I know Checkpoint's cli will fork/create many other sub processes.</div><div><br></div><div>In this example i'm just asking cli utilty what the BGP as number is. I'm running this as uid 0 under bash.</div><div><br></div><div>So .. for example.</div><div><br></div><div><div>/strace -o /logs/output.txt -s 1048 -f clish -c "show as"</div><div>Segmentation fault (core dumped)</div><div>[Expert@FW#</div><div>Autonomous system number: 0</div></div><div><br></div><div>Strace crashes, clish (this is the checkpoint shell) works fine.</div><div><br></div><div>Side note, strace seems to work without the -f option.</div><div><br></div><div>Here is a backtrace. I recompiled with -O0, but i don't know enough about gdb to take this any further. BTW gdb was built with same cross compiler.</div><div><br></div><div><div>Core was generated by `/strace -o /logs/output.txt -s 1048 -f clish -c show as'.</div><div>Program terminated with signal SIGSEGV, Segmentation fault.</div><div>#0  0x4009b094 in strlen () from /lib/libc.so.6</div><div>(gdb) where</div><div>#0  0x4009b094 in strlen () from /lib/libc.so.6</div><div>#1  0x4008d138 in fputs_unlocked () from /lib/libc.so.6</div><div>#2  0x00025818 in tprints (str=0x0) at strace.c:562</div><div>#3  0x0003104c in printflags (xlat=0x3e23c <sock_type_flags>, flags=0, dflt=0x3edd0 "SOCK_???") at util.c:345</div><div>#4  0x00019628 in tprint_sock_type (flags=0) at net.c:729</div><div>#5  0x00019698 in sys_socket (tcp=0x6b210) at net.c:738</div><div>#6  0x0002b3d4 in trace_syscall_entering (tcp=0x6b210) at syscall.c:1832</div><div>#7  0x0002be7c in trace_syscall (tcp=0x6b210) at syscall.c:2426</div><div>#8  0x000294f8 in trace () at strace.c:2240</div><div>#9  0x000295e8 in main (argc=9, argv=0xbe96ec74) at strace.c:2290</div></div><div><br></div><div><br></div><div>the build host is CentOS 5.11, gcc 4.1.2, glibc 2.5 (plus centos patches)</div><div><br></div><div>the cross compiler is </div><div><br></div><div>gcc 4.1.1, glibc (plus random patches i've been grabbing from lfs, bug reports, ubuntu and a few other places, its been a lord of the rings journey).</div><div><br></div><div>I know there is a chance its a problem with my cross compiler, (target is arm-unknown-linux-gnueabi btw).</div><div><br></div><div>Here is configure output.</div><div><a href="https://s3.amazonaws.com/cnf.spikefishsolutions.com/600+-+1100/strace/configure-out.txt" title="https://s3.amazonaws.com/cnf.spikefishsolutions.com/600+-+1100/strace/configure-out.txt" style="color:rgb(0,75,145);text-decoration:none;font-family:'Helvetica Neue',sans-serif;font-size:12px;line-height:12px">https://s3.amazonaws.com/cnf.spikefishsolutions.com/600+-+1100/strace/configure-out.txt</a><br></div><div><br></div><div>Here is make output.</div><div><a href="https://s3.amazonaws.com/cnf.spikefishsolutions.com/600+-+1100/strace/make-out.txt" title="https://s3.amazonaws.com/cnf.spikefishsolutions.com/600+-+1100/strace/make-out.txt" style="color:rgb(0,75,145);text-decoration:none;font-family:'Helvetica Neue',sans-serif;font-size:12px;line-height:12px">https://s3.amazonaws.com/cnf.spikefishsolutions.com/600+-+1100/strace/make-out.txt</a><br></div><div><br></div><div><br></div><div>Anyone feedback on what to do would be great.</div><div><br></div><div>Thanks for everyone's time!</div></div>