http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60247

            Bug ID: 60247
           Summary: AVR ATxmega C++ constructor startup in libgcc.S causes
                    boot loop
           Product: gcc
           Version: 4.5.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bobf at mrp3 dot com
                CC: bobf at mrp3 dot com
              Host: FreeBSD 8.x
            Target: ATxmega processor
             Build: avr-gcc port under FreeBSD

Created attachment 32156
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32156&action=edit
a patch file that corrects the problem

In the AVR implementation of GCC, when compiling for an ATXmega processor, the
C++ constructor calls from the startup code in libgcc.S does not preserve
registers before calling constructors.  This usually results in a 'boot loop'
in which the processor continuously reboots due to un-handled faults.

gcc info:

COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/avr/4.5.1/lto-wrapper
Target: avr
Configured with: ./../gcc-4.5.1/configure --target=avr --disable-libssp
--with-gmp=/usr/local --prefix=/usr/local --mandir=/usr/local/man
--infodir=/usr/local/info/ --build=x86_64-portbld-freebsd8.4
Thread model: single
gcc version 4.5.1 (GCC)

Reply via email to