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: Help hpux10.20 -> m68k-*-aout


Ray Lillard wrote:

> I just found out about this list while searching for help building
> a cross hosted on hppa1.1-hp.hpux10.20 for m68k-*-aout.  I'm sure
> coff would be OK too.  My actual target is a m68332.

 I don't like these 'do everything with a single command' methods...
If they work, ok, but if not, there are too much trouble...

 I should recommend you to split the build into more parts:

1. Build binutils for the target 'm68k-coff', configuring with:
      ./configure --target=m68k-coff
   and install them, and make some simple tests like './as --help',
   './ld -V' etc. to see that they seem to work somehow.

   Your use of '--target=m68k-*-coff' is totally wrong, because
   '*' is a wildcard and can mean anything... This was probably
   the main reason for your problems...

2. If you really want your install directories to be:
     /opt/xgcc68k/m68k-coff/bin
     /opt/xgcc68k/m68k-coff/include
     /opt/xgcc68k/m68k-coff/lib
   for binutils, headers and libs, and: 
     /opt/xgcc68k/lib/gcc-lib/m68k-coff/2.8.1
   for the GCC parts, then use:
     --prefix=/opt/xgcc68k --target=m68k-coff
   when configuring GCC...

   I would use the more normal:
     --prefix=/opt/gnu --target=m68k-coff
   to get the install dirs to be:
     /opt/gnu/m68k-coff/bin
     /opt/gnu/m68k-coff/include
     /opt/gnu/m68k-coff/lib
   for binutils, headers and libs, and: 
     /opt/gnu/lib/gcc-lib/m68k-coff/2.8.1
   for the GCC parts -- if I thought there is a possibility that I
   would need yet another cross compiler, e.g. a mips-ecoff one to:
     /opt/gnu/mips-ecoff/bin
     /opt/gnu/mips-ecoff/include
     /opt/gnu/mips-ecoff/lib
   and so on...

   Build and install GCC, do some simple tests like './xgcc -dumpspecs',
   './xgcc -print-search-dirs' (to make sure the search paths are just as
   you wanted) etc.

3. Build newlib for the same '--target=m68k-coff', install and enjoy...

Ok, some fixes to the GCC sources:

In the 'config/m68k' you'll find a file named 't-m68kbare' or something
having the MULTILIB defs for 'm68k-coff' target saying somewhere:

  "m68000/m68020/m5200 m68881/msoft-float"

This means that it DOESN'T generate specific libs for '-mcpu32', which 
is your primary target... So change it to be:

  "m68000/m68020/mcpu32/m5200 m68881/msoft-float"

Again the equivalence row:

  "m68000=mc68000 m68000=m68302 m68000=m68332 m68020=mc68020 m68020=m68040"

saying that '-m68332' means the same as '-m68000' isn't quite ok, change it to:

  "m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 m68020=m68040"

and change the 'exceptions' row:
 
  "*m5200/*m68881 *m5200/*msoft-float"

to be:

  "*m68000/*msoft-float *m5200/*msoft-float *mcpu32/*msoft-float"

so that it doesn't generate 'm68000/msoft-float',... dirs for those who have
the '-msoft-float' as the default anyway...

I cannot say what the using of your '--enable-m68332' has any influence for
anything... Trying to find (from docs) which configure-option sets the default
CPU to be '-m68332', I didn't find it... Really funny.. perhaps sources will
tell it...

Cheers, Kai
 
________________________________________________
To get help for the crossgcc list, send mail to
crossgcc-request@cygnus.com with the text 'help'
(without the quotes) in the body of the message.