compiling gcc 4.1.1 for AVR

alee alee@IfA.Hawaii.Edu
Wed Sep 27 09:37:00 GMT 2006


Kai Ruottu wrote:

> alee wrote:
>
>> I'm trying to compile gcc 4.1.1 for the AVR platorm.
>
>
> You seem to have achieved your goal already!
>
>> I compiled binutils 2.17 for the AVR platorm already and when I try 
>> to compile gcc,
>
>
> Can you in any way imagine that the subdirectory 'gcc' in the GCC 
> sources could be that
> 'GCC' ?  So when it is "compiled", the compiler(s) called as "GCC" 
> is/are ready!
>
>> I get the following error:
>>
>> ....
>> checking for avr-gcc... 
>> /linux_source/gcc-4.1.1/host-i686-pc-linux-gnu/gcc/xgcc 
>> -B/linux_source/gcc-4.1.1/host-i686-pc-linux-gnu/gcc/ 
>> -B/opt/avr/avr/bin/ -B/opt/avr/avr/lib/ -isystem /opt/avr/avr/include 
>> -isystem /opt/avr/avr/sys-include
>> checking for C compiler default output file name... configure: error: 
>> C compiler cannot create executables
>> See `config.log' for more details.
>> make[1]: *** [configure-target-libssp] Error 1
>
>
> This error tells that the already built "GCC" for AVR cannot create 
> executables with
> the help of the AVR targeted 'as' and 'ld', the AVR targeted C library 
> etc.
>
> Why the GCC build tries to build the 'libssp.a' for AVR as default and 
> whether it is required for
> AVR at all, are the questions you should ask here.  Anyway there 
> should be the GCC configure
> option :
>
> |--disable-libssp|
>    Specify that the run-time libraries for stack smashing protection
>    should not be built.
>
> to disable it's build, so if you think it being not needed, just 
> disable it's build!  A reconfigure
> and a rebuild could show how you could get a clean working build but 
> just as well you could
> try to remove the 'libssp' subdir from the 
> '/linux_source/gcc-4.1.1/host-i686-pc-linux-gnu/avr'
> and then try 'make' again... If this doesn't help, then try removing 
> the 'libssp' "target" from
> the generated main GCC  'Makefile'.
>
>> Where do I get gmp.h?  Do I need it? What else can be wrong?
>
>
> My thought is that you don't need 'libssp' for AVR at all...
>
>
>

Ok...I added the "--disable-libssp" and "make" went further but it stops 
at another error:
.....
Entering directory `/linux_source/gcc-4.1.1/host-i686-pc-linux-gnu/gcc'
gcc -c   -g -O2 -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute    
-DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../.././gcc 
-I../.././gcc/build -I../.././gcc/../include 
-I../.././gcc/../libcpp/include     -o build/fix-header.o 
../.././gcc/fix-header.c
/opt/avr/bin/avr-as: unrecognized option `-Qy'
make[2]: *** [build/fix-header.o] Error 1
make[2]: Leaving directory 
`/linux_source/gcc-4.1.1/host-i686-pc-linux-gnu/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/linux_source/gcc-4.1.1'
make: *** [all] Error 2

What is "make" building here?  Do I have a buggy avr-as?  avr-as doesn't 
have the '-Qy' option...should it?  Or is "make" using avr-as 
incorrectly here?

Thanks.



More information about the Gcc-help mailing list