Help hpux10.20 -> m68k-*-aout
"Kai Ruottu" (karuottu@freenet.hut.fi)
Sat, 24 Oct 1998 19:18:27 +0000
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.