This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
RE: Problem building cross-debugger
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: <gdb at sourceware dot org>
- Date: Wed, 13 Feb 2008 20:48:46 -0000
- Subject: RE: Problem building cross-debugger
- References: <478E9F4D.24311.2EF0FE9@gerritvn.gpvno.co.za> <47908F14.31772.5AD24E@gerritvn.gpvno.co.za> <4790EF3A.8104.1D28BDA@gerritvn.gpvno.co.za> <m3myr36k5r.fsf@codesourcery.com> <15419409.post@talk.nabble.com> <15461364.post@talk.nabble.com>
On 13 February 2008 17:49, Michael Shatz wrote:
> Finally found the problem.
>
> It's all about cygwin "textmode" mount huck.
And that really *is* a hack. We deeply advise not using it, or just using
it as somewhere to store some datafiles so that when you copy them from there
to/from your main filesystem tree they get converted back and forth
automatically, but working in a textmode-mounted tree is just very very hard
to get right.
> When the build drive (or may be source, or both, in my case they were the
> same) is mounted in the text mode the following command misbehaves:
> /bin/sh ./libtool --tag=CC --mode=link i686-pc-cygwin-gcc -W -Wall
> -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -o libbfd.la
> -rpath /usr/local/emb386/i686-pc-cygwin/i386-elf/lib -release `cat
> libtool-soversion` archive.lo archures.lo bfd.lo bfdio.lo bfdwin.lo
> cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo opncls.lo
> reloc.lo section.lo syms.lo targets.lo hash.lo linker.lo srec.lo binary.lo
> tekhex.lo ihex.lo stabs.lo stab-syms.lo merge.lo dwarf2.lo simple.lo `cat
> ofiles`
>
> Either 'libtool' or, more likely, 'sh' somehow ignores the tail of the
> 'ofiles' file which happens to contain the cpu-i386.o
Ah, yes, it would. "cat" always opens files in binary mode (by design, this
is part of the spec) so when it reads "ofiles" the entries in it
(one-per-line) don't look like a filename plus a CRLF line-end, they look like
a filename (of which the last char is coincidentally a CR) plus a LF line-end.
As there is no such file as "../bfd/cpu-i386.o^M", it gets skipped.
cheers,
DaveK
--
Can't think of a witty .sigline today....