From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alan Mimms Date: Fri, 31 Dec 1999 06:58:32 GMT Message-ID: <19991231.6583200@alanm.penguinpowered.com> Subject: Re: cross-compiling & debugging embedded-linux apps To: Brendan.Simon@ctam.com.au CC: linux-embedded , Cross-GCC , linuxppc-embedded In-Reply-To: <386C3615.E14AE6DD@ctam.com.au> References: <386C3615.E14AE6DD@ctam.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Sender: owner-linuxppc-embedded@lists.linuxppc.org List-Id: You know about the ldd command? Do 'ldd bjs1-shared' to see what libraries you need for your shared executable and make sure they're there and built with no floating point. When you compile and link, you're using '-mcpu=860' or '-msoft-float', right? That also could be a problem for you. I think the seg fault is what Dan's kernel maps the floating point handler's exception to - it's really a floating point exception. I COULD be wrong about this. It's one fo the things I have been meaning to look into but haven't yet had the chance. (Caveat emptor on the above - I'm just a beginner myself.) a >>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<< On 12/30/99, 8:50:29 PM, Brendan J Simon wrote regarding cross-compiling & debugging embedded-linux apps: > I have a powerpc embedded system (MPC860, 4MB Flash, 16MB RAM, ethernet, > rs232). I have compiled the kernel and can boot it using a root > filesystem via initrd or nfs. The root filesystem is a minimal one that > was on the linuxppc-embedded ftp site. It basically has /bin/sh, > /bin/ls and a few libraries in /lib. > I NEED to be able to compile apps from the sources. I have managed to > cross-compile ncurses and bash. I can't get bash to run at all (even a > statically compiled version). I get segmentaion faults. I'm currently > using SASH which I have cross-compiled as a static binary. I compiled a > test app (bjs1.c) which outputs a string every second. It is compiled > as a static binary (bjs1-static) and a shared binary (bjs1-shared). The > static binary works but the shared one does not. I assume it is some > library problem but I can't figure out what. The output of the sash > session is below. > Stand-alone shell (version 1.0) > > ./bjs1-static > BJS1: Brendan was here > BJS1: Brendan was here > BJS1: Brendan was here > pid 7: killed (signal 2) > > > > ./bjs1-shared > pid 8: killed (signal 11) > > > I have all the libraries on the root filesystem. The rpc.nfsd daemon > seems to read the entire file but sash says the process is killed with > signal 11 (segmentation fault). I have no idea how to debug this. I > don't think there is a simulator for the mpc860 as part of gdb. Is > there a way of debugging this on the target with powerpc-gdb and an > ethernet or serial connection ? > How does the kernel know where to look for libraries ? I assume there > are some default locations like /lib. I haven't got an ld.so.conf setup > nor do I have ldconfig. > It can't be that hard to get a simple 10 line program to execute as a > shared binary. It must be something really simple that I am missing. > Thanks for any help, > Brendan Simon. ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/