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] |
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] |