problem with AVR cross compiler
Egbert Jan van den Bussche
egbert@vandenbussche.nl
Fri Mar 7 08:12:00 GMT 2008
Hi Brian,
There seems to be a new 'class' AVR35, introduced in 4.2.3. Would it be
possible to find out who was responsible for this change/patch? He could
tell if a newer binutils was used for his testing.
Below are the diffs for avr.c, avr.h, and t-avr in the source tree
/gcc-4.2.3/gcc/config/avr.
[egbert@server avr]$ diff avr.c
/var/ftp/Linux/AVR-GCC/gcc-4.2.3/gcc/config/avr/avr.c
145a146
> { 0, 0, 1, 1, "__AVR_ARCH__=35"},
159a161
> ARCH_AVR35,
214a217,220
> /* Classic + MOVW + JMP/CALL. */
> { "avr35", ARCH_AVR35, NULL },
> { "at90usb82", ARCH_AVR35, "__AVR_AT90USB82__" },
> { "at90usb162", ARCH_AVR35, "__AVR_AT90USB162__" },
265,266d270
< { "at90usb82", ARCH_AVR5, "__AVR_AT90USB82__" },
< { "at90usb162", ARCH_AVR5, "__AVR_AT90USB162__" },
[egbert@server avr]$ diff avr.h
/var/ftp/Linux/AVR-GCC/gcc-4.2.3/gcc/config/avr/avr.h
736c736
< #define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2;\
---
> #define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2;mmcu=avr35:-mmcu=avr3;\
762c762,764
< mmcu=at76*:-m avr3}\
---
> mmcu=at76*|\
> mmcu=at90usb82|\
> mmcu=at90usb162:-m avr3}\
772c774,775
< mmcu=at90usb*|\
---
> mmcu=at90usb64*|\
> mmcu=at90usb128*|\
846a850,851
> %{mmcu=at90usb162|mmcu=avr35:crtusb162.o%s} \
> %{mmcu=at90usb82:crtusb82.o%s} \
893,894d897
< %{mmcu=at90usb82:crtusb82.o%s} \
< %{mmcu=at90usb162:crtusb162.o%s} \
[egbert@server avr]$ diff t-avr
/var/ftp/Linux/AVR-GCC/gcc-4.2.3/gcc/config/avr/t-avr
40,41c40,41
< MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr4/mmcu=avr5
< MULTILIB_DIRNAMES = avr2 avr25 avr3 avr4 avr5
---
> MULTILIB_OPTIONS =
mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr35/mmcu=avr4/mmcu=avr5
> MULTILIB_DIRNAMES = avr2 avr25 avr3 avr35 avr4 avr5
61a62,63
> mmcu?avr35=mmcu?at90usb82 \
> mmcu?avr35=mmcu?at90usb162 \
108,109d109
< mmcu?avr5=mmcu?at90usb82 \
< mmcu?avr5=mmcu?at90usb162 \
[egbert@server avr]$
Egbert Jan
Brian Dessent wrote:
> Egbert Jan van den Bussche wrote:
>
>
>> Thanks Brian. I went back just one release (GCC 4.2.2) and building
>> AVR-GCC is OK again. I'll try to investigate bit more. I did use the
>> 2.18 binutils which compiled just fine on the same machine. There was an
>>
>
> Since binutils and gcc are not released in sync, you may require
> something newer than 2.18 (which was released 2007-08-28) to go with
> 4.2.3 (released 2008-02-01.)
>
>
>> issue some time ago (in the 4.1.1 era) with libssp. Maybe I was bitten
>> by that. During Configure you must specify --disable-libssp. This comes
>> all from the avwiki (avrwiki.com) and I have no idea what libssp does.
>>
>
> libssp is a library that's part of the stack-smashing protection system
> that's activated with -fstack-check. It isn't available on all targets,
> and it's likely that AVR is one such target. Ideally it should default
> to disabled for those targets that don't support it, but sometimes those
> details aren't looked after. I don't think this is related.
>
> Brian
>
More information about the Gcc-help
mailing list