[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Binutils 2.18 + GCC 4.2.3



On Wed, 2008-02-06 at 01:18 +0100, MiKRO wrote:
> Hi,
> 
> Today I finally found some time to compile super-optimized version of
> aranym on linux so I started the following -- I'm trying to compile
> 060-optimized gcc/binutils in one go, i.e. some kind of "super
> bootstrap" where gcc and binutils are 3-stage-bootstrapped against
> each other. It's officially supported, you just need to set up some
> links and that's it.
> 
> However, I found some new problems (using newest stuff from Vincent's
> site):
> 
> - native binutils2.18 patch isn't included in 13.01.2008 patch
> (forgotten?) -- that means that getopt() check and BASH_LINENO in
> ld/genscripts and libiberty bugs as well (EOF issue)
> 
> - for some strange reason, this:
> 
> make[3]: Entering directory `/e/root/gcc-4.2.3-atari/gcc'
> make \
>   CFLAGS="-g -W -Wall -Wwrite-strings -Wstrict-prototypes
> -Wmissing-prototypes
> -fno-common " \
>   CONFIG_H="config.h
> auto-host.h ../../gcc-4.2.3/gcc/../include/ansidecl.h" \
>   MAKEOVERRIDES= \
>   -f libgcc.mk all
> make[4]: Entering directory `/e/root/gcc-4.2.3-atari/gcc'
> rm -f ./libgcc.a
> /root/gcc-4.2.3-atari/./binutils/ar  rc ./libgcc.a libgcc/./_mulsi3.o
> libgcc/./_udivsi3.o libgcc/./_divsi3.o libgcc/./_umodsi3.o
> libgcc/./_modsi3.o libgcc/./_double.o libgcc/./_float.o
> libgcc/./_floatex.o libgcc/./_eqdf2.o libgcc/./_nedf2.o
> libgcc/./_gtdf2.o libgcc/./_gedf2.o libgcc/./_ltdf2.o
> libgcc/./_ledf2.o libgcc/./_eqsf2.o libgcc/./_nesf2.o
> libgcc/./_gtsf2.o libgcc/./_gesf2.o libgcc/./_ltsf2.o
> libgcc/./_lesf2.o libgcc/./_muldi3.o libgcc/./_negdi2.o
> libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o
> libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o libgcc/./_clear_cache.o
> libgcc/./_enable_execute_stack.o libgcc/./_trampoline.o
> libgcc/./__main.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o
> libgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o
> libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o
> libgcc/./_negvsi2.o libgcc/./_negvdi2.o libgcc/./_ctors.o
> libgcc/./_ffssi2.o libgcc/./_ffsdi2.o libgcc/./_clz.o
> libgcc/./_clzsi2.o libgcc/./_clzdi2.o libgcc/./_ctzsi2.o
> libgcc/./_ctzdi2.o libgcc/./_popcount_tab.o libgcc/./_popcountsi2.o
> libgcc/./_popcountdi2.o libgcc/./_paritysi2.o libgcc/./_paritydi2.o
> libgcc/./_powisf2.o libgcc/./_powidf2.o libgcc/./_powixf2.o
> libgcc/./_powitf2.o libgcc/./_mulsc3.o libgcc/./_muldc3.o
> libgcc/./_mulxc3.o libgcc/./_multc3.o libgcc/./_divsc3.o
> libgcc/./_divdc3.o libgcc/./_divxc3.o libgcc/./_divtc3.o
> libgcc/./_fixunssfsi.o libgcc/./_fixunsdfsi.o libgcc/./_fixunsxfsi.o
> libgcc/./_fixsfdi.o libgcc/./_fixunssfdi.o libgcc/./_floatdisf.o
> libgcc/./_floatundisf.o libgcc/./_fixdfdi.o libgcc/./_fixunsdfdi.o
> libgcc/./_floatdidf.o libgcc/./_floatundidf.o libgcc/./_fixxfdi.o
> libgcc/./_fixunsxfdi.o libgcc/./_floatdixf.o libgcc/./_floatundixf.o
> libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o libgcc/./_floatditf.o
> libgcc/./_floatunditf.o libgcc/./_eprintf.o libgcc/./__gcc_bcmp.o
> libgcc/./_divdi3.o libgcc/./_moddi3.o libgcc/./_udivdi3.o
> libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o
> libgcc/./fpgnulib.o libgcc/./xfgnulib.o libgcc/./unwind-dw2.o
> libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o libgcc/./gthr-gnat.o
> libgcc/./unwind-c.o
> 
> produces bus error on 'ar' and absolutely nothing helps (make, bash,
> sh, install, this ar -- everything set to >=256K stack + TPA is 4 MB).
> What is interesting, when I copy/paste this into script (toswin2
> buffer is too small), it creates libgcc.a without any problem..

This might be a problem I bumped into, with memory allocation.

> - next thing, after some time, I'll get:
> 
> make[3]: Entering directory `/e/root/gcc-4.2.3-atari/gcc'
> make \
>   CFLAGS="-g -W -Wall -Wwrite-strings -Wstrict-prototypes
> -Wmissing-prototypes
> -fno-common " \
>   CONFIG_H="config.h
> auto-host.h ../../gcc-4.2.3/gcc/../include/ansidecl.h" \
>   MAKEOVERRIDES= \
>   -f libgcc.mk all
> make[4]: Entering directory `/e/root/gcc-4.2.3-atari/gcc'
> /root/gcc-4.2.3-atari/./gcc/xgcc -B/root/gcc-4.2.3-atari/./gcc/
> -B/usr/m68k-atari-mint/bin/ -B/usr/m68k-atari-mint/lib/
> -isystem /usr/m68k-atari-mint/include
> -isystem /usr/m68k-atari-mint/sys-include -L/root/gcc-4.2.3-atari/./ld
> -O2  -O2 -O2 -m68060  -DIN_GCC    -W -Wall -Wwrite-strings
> -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
> -isystem ./include   -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I.
> -I. -I../../gcc-4.2.3/gcc -I../../gcc-4.2.3/gcc/.
> -I../../gcc-4.2.3/gcc/../include
> -I../../gcc-4.2.3/gcc/../libcpp/include
> -I../../gcc-4.2.3/gcc/../libdecnumber -I../libdecnumber -m68020-60
> -DL_mulsi3 -xassembler-with-cpp
> -c ../../gcc-4.2.3/gcc/config/m68k/lb1sf68.asm -o
> libgcc/m68020-60/_mulsi3.o
> Assembler messages:
> Error: already selected `68040' architecture
> ../../gcc-4.2.3/gcc/config/m68k/lb1sf68.asm:373: Error: selected
> processor does not have all features of selected architecture
> make[4]: *** [libgcc/m68020-60/_mulsi3.o] Error 1
> make[4]: Leaving directory `/e/root/gcc-4.2.3-atari/gcc'
> make[3]: *** [stmp-multilib] Error 2
> make[3]: Leaving directory `/e/root/gcc-4.2.3-atari/gcc'
> make[2]: *** [all-stage1-gcc] Error 2
> make[2]: Leaving directory `/e/root/gcc-4.2.3-atari'
> make[1]: *** [stage1-bubble] Error 2
> make[1]: Leaving directory `/e/root/gcc-4.2.3-atari'
> make: *** [bootstrap] Error 2
> root@easymint:/root/gcc-4.2.3-atari>
> 
> I don't know what exactly it means, I changed t-mint from
> m68020-60=m68060 to m68060=m68060 and added m68060 to multilib
> targets. Where comes that 68040 architecture, that's real mystery for
> me. But maybe it has something to the with CFLAGS I set in 'make'?
> (make CFLAGS='-O2 -m68060' but LIBCFLAGS I left without m68060)
> 
> Any clues? :)

You can't specify two -m (machine) models on the same commandline. You
have -m68060 and -m68020-60.

Alan.