public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libgcc/60247] New: AVR ATxmega C++ constructor startup in libgcc.S causes boot loop
@ 2014-02-17 20:50 bobf at mrp3 dot com
  2014-02-27  0:38 ` [Bug libgcc/60247] " bobf at mrp3 dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: bobf at mrp3 dot com @ 2014-02-17 20:50 UTC (permalink / raw)
  To: gcc-bugs

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)


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug libgcc/60247] AVR ATxmega C++ constructor startup in libgcc.S causes boot loop
  2014-02-17 20:50 [Bug libgcc/60247] New: AVR ATxmega C++ constructor startup in libgcc.S causes boot loop bobf at mrp3 dot com
@ 2014-02-27  0:38 ` bobf at mrp3 dot com
  2014-03-31 19:07 ` [Bug target/60247] " bobf at mrp3 dot com
  2014-03-31 20:09 ` gjl at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: bobf at mrp3 dot com @ 2014-02-27  0:38 UTC (permalink / raw)
  To: gcc-bugs

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

bobf at mrp3 dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |http://gcc.gnu.org/bugzilla
                   |                            |/show_bug.cgi?id=45263

--- Comment #1 from bobf at mrp3 dot com ---
bug 45263 may be related (and has been resolved).  Preserving registers may
still be necessary, however, depending on what happens inside the constructors.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/60247] AVR ATxmega C++ constructor startup in libgcc.S causes boot loop
  2014-02-17 20:50 [Bug libgcc/60247] New: AVR ATxmega C++ constructor startup in libgcc.S causes boot loop bobf at mrp3 dot com
  2014-02-27  0:38 ` [Bug libgcc/60247] " bobf at mrp3 dot com
@ 2014-03-31 19:07 ` bobf at mrp3 dot com
  2014-03-31 20:09 ` gjl at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: bobf at mrp3 dot com @ 2014-03-31 19:07 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from bobf at mrp3 dot com ---
> --- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
> Are you sure this is not already fixed by PR45263?  Or in version 4.7 and
> newer?

it might be - I saw something in the ubuntu libc package [after filing 
this] that suggests that a fix may have been applied to later versions 
[I think I added a reference to this for the PR, and if not I should 
have after I discovered it].

> 4.7 is the oldest supported release series.  4.5 is no more supported.

it's currently being used in the FreeBSD ports system, though.  Thanks.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/60247] AVR ATxmega C++ constructor startup in libgcc.S causes boot loop
  2014-02-17 20:50 [Bug libgcc/60247] New: AVR ATxmega C++ constructor startup in libgcc.S causes boot loop bobf at mrp3 dot com
  2014-02-27  0:38 ` [Bug libgcc/60247] " bobf at mrp3 dot com
  2014-03-31 19:07 ` [Bug target/60247] " bobf at mrp3 dot com
@ 2014-03-31 20:09 ` gjl at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: gjl at gcc dot gnu.org @ 2014-03-31 20:09 UTC (permalink / raw)
  To: gcc-bugs

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

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
(In reply to bobf from comment #3)
>> 4.7 is the oldest supported release series.  4.5 is no more supported.
> 
> it's currently being used in the FreeBSD ports system, though.  Thanks.

If you want it in 4.5.1, you must suport your own gcc 4.5 and backport whatever
you like, e.g. for this one: r187058 which is the backport of PR45263 to 4.5.4.
 Thus, you can also upgrade to 4.5.4 (or 4.6.1 or newer).

*** This bug has been marked as a duplicate of bug 45263 ***


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-31 20:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-17 20:50 [Bug libgcc/60247] New: AVR ATxmega C++ constructor startup in libgcc.S causes boot loop bobf at mrp3 dot com
2014-02-27  0:38 ` [Bug libgcc/60247] " bobf at mrp3 dot com
2014-03-31 19:07 ` [Bug target/60247] " bobf at mrp3 dot com
2014-03-31 20:09 ` gjl at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).