This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: GDB build for a crosscompiler...


> I'm trying to build the tool change on windows NT.
> The target is m68k-coff
> 
> I have successsfully build the binutils, egcs1.1.2 and newlib.
> 
> I am unable to build GDB.

 Which version? Are there patches for cygwin (I assume you trying this, 
not the mingw32 one) host support installed, like in the 'gdb-4.17.1'
sources coming with b20 ?  The gdb-4.17 support is for b19, the gdb
snapshots mostly lack any support... (for mingw32 at least...)

> when I try to configure GDB with
>   configure --verbose --target=m68k-coff --prefix=/gcc-m68k
> the configure fails.
> This exact same configure works just fine on Linux
> 
> The end of the configure script .....
>> checking for ld used by GCC... no
>> configure: error: no acceptable ld found in $PATH
>> Configure in /build/gdb/opcodes failed, exiting.

 Have you installed the 'm68k-coff' target 'ld' already?
Probably it tries to find it from the directories :
  /gcc-m68k/lib/gcc-lib/m68k-coff/egcs-2.91.66
  /gcc-m68k/lib/gcc-lib/m68k-coff
  /gcc-m68k/m68k-coff/bin
and from the PATH using the name 'm68k-coff-ld'...
 
> ld is present .....
> 
>>bash-2.02$ ld --version
>>GNU ld 2.9.4
>>Copyright 1997 Free Software Foundation, Inc.
>>This program is free software; you may redistribute it under the terms of
>>the GNU General Public License.  This program has absolutely no warranty.
>>  Supported emulations:
>>   i386pe

 Building a common 'ld.exe' (and common binutils, excluding 'as') for both 
the 'i386pe' and 'm68kcoff' formats is of course possible... Just configure
the binutils with:
  --host=i586-cygwin32 --target=i586-cygwin32 --enable-targets=m68k-coff
And you will see the:

  Supported emulations:
   i386pe
   m68kcoff

message with 'ld -V' then...

 It depends on you if you want to keep the 'i386pe' and 'm68kcoff' binutils
and 'ld' separate, or combine them. The binutils should recognize the formats
automatically, but the common 'ld' needs a '-m m68kcoff' for the 'secondary'
format. Putting the '-m m68kcoff' into the m68k-coff 'specs' file, e.g. :

   *link:
   -m m68kcoff -T myscript.ld

will tell the used 'emulation' to 'ld'...

> Also I've applied some patches to the binutils source to support the Coldfire 
> MAC and DIV instructions. If I want GDB to suppor these opcodes, can I just
> copy the changed files from the binutils branch to the GDB branch?

 Probably you can... Better could be to first do a 'diff' between the fixed 
ones and the originals in the GDB sources (in subdir 'opcodes' ?). If there
are much more differences, installing the same fixes to the GDB source files
is recommended...

 The 'bfd', 'opcodes', 'readline' etc. subdirs are oddily quite different in
the 'gas' and 'gdb' snapshots (like in the 'gas-990223' and 'gdb-19990209'),
but searching for missing information from the other or from newer snapshots 
can sometimes help... Building a GDB for the Mitsubishi M32R target from the 
gdb-4.17.1 sources needed all kind of spying from the new gas and gdb 
snapshots...

 Hope this will help,  Kai
 
_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.