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

See the CrossGCC FAQ for lots more information.


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

Re: Trying to figure out what host to use


Mark Palmerino wrote:
> 
> So, if I understand what you're saying, using the target of m68k-coff is
> correct for the 68332. Assuming I actually get a working gcc-cross, when I
> compile a source program (e.g., hello.c), I need to use the -m68332 flag
> when compiling and linking. Is that correct? (Or are you saying I have to do
> something else besides *just* build the gcc-cross for the m68k-coff
> target???).

 Yes, the target is right, but you must check that the 'libgcc.a' for '-m68332'
or '-mcpu32' will be generated. The 'libgcc.a' contains e.g. the basic soft-float
routines ('fadd'/'fsub'/'fmul'/'fdiv', but not with these names...). The cpu32-
core needs different routines than the default '-m68020'.  The 'config/m68k/t-m68kbare'
should set the variations in the MULTILIB_OPTIONS...

> Since my original post, I was able to find the (supposedly) original files
> for building gcc 2.8.1. So I started with those.
> 
> I created a directory (build-gcc) and from that directory ran the configure
> program in the gcc directory.  This worked.
> 
> I then ran "make all" and with one exception related to a define necessary
> for cccp.c, the make ran until it bombed with the following message:
> 
>   /volume/FFS_500/bar/m68k-coff/bin/ar rc tmplibgcc1.a ${name}.o; \
>   rm -f ${name}.o; \
> done
> _mulsi3
> Assembler messages:
> Error: invalid switch -mc68020
> make: *** [libgcc1-asm.a] Error 1
> 
> It looks to me like the newly created xgcc does not recognize its default
> switch (mc68020). I tried compiling a simple C program (hello.c) with xgcc
> and got the same error message.

 The "Assembler messages" says that the error was given by the assembler, 'as',
not by the C-compiler. You will need to build and install the GNU binutils for
the same 'm68k-coff' target first. And must use the same '--prefix=...' and
'--target=...' as when configuring GCC.  The "/volume/FFS_500/bar/m68k-coff/bin/ar"
tells that you used the

   --prefix=/volume/FFS_500/bar --target=m68k-coff

when configuring ($prefix/$target/bin is the place for the binutils), and it
tries to use the 'm68k-coff'-targeted archiver, 'ar', when adding stuff into
the 'libgcc.a'...

> Here, btw, are some results you originally requested:
> 
> gcc -dumpversion
> 2.8.1
> gcc -dumpmachine
> powerpc-apple-machten4

 If you want to try gcc-2.95.2 for the 'powerpc-apple-machten4', as the target
(updating the native compiler) or as the host (for the 'm68k-coff' tools) you
need to dig the config entry from the 'gcc-2.8.1/configure', by searching the
'machten4', and then seeing what config files it uses from the 'gcc-2.8.1/config/m68k'
and whether these are already provided in the 'gcc-2.95.2/gcc/config/m68k'.
If not, adding/copying the entry and the extra config files from gcc-2.8.1 into
gcc-2.95.2 has to be done...

 But starting with the gcc-2.8.1 sources and seeing if the '-mcpu32' support
works in it is the easy start (after getting the binutils first).

Cheers, Kai


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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