This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: problems cross-compiling gcc + uClibc + gdb
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Bjorn De Sutter <brdsutte at frodo dot elis dot rug dot ac dot be>
- Cc: gdb at sources dot redhat dot com
- Date: Thu, 17 Apr 2003 20:39:41 -0400
- Subject: Re: problems cross-compiling gcc + uClibc + gdb
- References: <Pine.OSF.3.91.1030418021220.35616A-100000@frodo.elis.rug.ac.be>
On Fri, Apr 18, 2003 at 02:25:17AM +0200, Bjorn De Sutter wrote:
> Hi,
>
> on an i386 linux system, I've cross-compiled gcc and newlib as follows:
>
> ../gcc-3.2.2/configure --prefix=/home/brdsutte/embedded/build-gcc --enable-target-optspace --with-newlib --target=arm-elf
> gmake all install
>
> Then, I've build uClibc with CROSS=arm-elf- as follows:
>
> make KERNEL_SOURCE=/home/brdsutte/embedded/linux TARGET_ARCH=arm
>
> the linux kernel I used for that compilation (i.e. who's headers are
> used during the compilation of uClibc) was a standard linux 2.4.19,
> patched with patch-2.4.19-rmk7 for the arm, and then configured for
> arm-integrator
>
> I then compiled gdb as follows:
>
> ../gdb+dejagnu-20030417/configure --prefix=/home/brdsutte/embedded/build-gdb --target=arm-elf
> gmake all install
>
> When I run a hello world program that I compiled with arm-elf-gcc using
> arm-elf-gdb, everything works all right, but when I compile the same
> program with arm-uclibc-gcc, trying to run the program results in the
> following:
>
> [brdsutte at elrond vb]$ arm-linux-run b.out
> sim: unknown SWI encountered - 900036 - ignoring
>
> One of the differences between the two version of the programs is that
> the newlib version only contains system calls swi 0x00123456, while
> the uClibc version contains system calls such as swi 0x00900001
>
> Is there a way to have gdb handle these system calls, or do I need to
> change the way system calls are implemented in uClibc?
>
> I am not on this mailing list, so please respond to my emailaddress as
> well.
The simulator does not support Linux system calls; so you'll have to
change either the simulator or uclibc. Possibly both.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer