Re: problem with AVR cross compiler

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

 



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


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux