Re: Cross Compiling GDB

Daniel Jacobowitz
2003-08-20T13:33:53Z

On Wed, Aug 20, 2003 at 02:28:14PM +0100, Chris.Pedley@arm.com wrote:
>
> On 20/08/2003 14:05:30 gdb-owner wrote:
> >On Wed, Aug 20, 2003 at 10:20:47AM +0100, Chris.Pedley@arm.com wrote:
> >> I presume that the GDB at the following location isn't cygwin specific?
> >> ftp.gnu.org/gnu/gdb/gdb-5.3.tar.gz
> >>
> >> However, if you look at line 53 in gdb-5.3/readline/configure.in then
> >> it issues the error given above if cross compiling for a non-cygwin
> >> target.
> >>
> >> Also my questions about build, host and target have been raised
> >> because I'm unsure about the check for a cross compiler at line 123
> >> in gdb-5.3/configure.in. This checks whether the host and target
> >> are the same thing, and only assumes it is a cross compiler if they
> >> are different. Why isn't this actually checking build and host?
> >
> >Can you be a little clearer what you're trying to do?
> >
> >First of all, that seems like a really lame bug in readline. But it's
> >easily fixable. But second, do you want a cross debugger or a native
> >debugger for a non-cygwin host? $is_cross_compiler is whether the GCC
> >being built will be a cross compiler - that configure script is shared
> >with GDB. That's a host vs target issue.
>
> So is it definitely a bug, and is it definitely possible to cross compile
> gdb
> for other systems than cygwin?
>
> I'm trying to build a gdb debugger to be run on ARM Linux to debug apps
> natively running under ARM Linux. I will be building gdb using the
> arm-linux-gcc cross compiler on an Intel box, so was trying to configure
> with:
> target=arm-linux
> build=i386-linux
> host=arm-linux
> with-headers=<path to kernel sources>/linux-2.4.19/include
>
> This will fail because it will report that with-headers is only supported
> when cross compiling. I'm muddled as to what target, build and host
> therefore actually are?

Well, --with-headers is only supported when _building a cross
compiler_. You don't need to specify it. Assuming arm-linux-gcc is
built correctly it already knows where the headers are. (Also, as a
note, when building a cross compiler the kernel headers aren't what you
want. It usually needs glibc headers too.)

The readline error message is not fatal. I needed to set... um...
bash_cv_have_mbstate_t=yes in the environment, and that was it; the
build worked. I've been meaning to fix readline but not had a chance.

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer