Your message dated Sat, 13 Aug 2011 09:17:39 +0000
with message-id <[email protected]>
and subject line Bug#634341: fixed in gcc-avr 1:4.5.3-2
has caused the Debian Bug report #634341,
regarding gcc-avr: GCC bug 45263 is not taken into account
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
634341: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634341
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: gcc-avr
Version: 1:4.5.3-1local1
Severity: normal
Tags: sid patch upstream

The bug identified for AVR gcc during constructor/destructor initialization is
not taken into account. here is the
gcc bug information :
        PR target/45263
        * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Save
        R20 around calls of __tablejump_elpm__

It causes some troubles for the Arduino users out there trying to access the
serial ports ...

Attached is a tentative patch cooked up from the original patch at :
http://gcc.gnu.org/viewcvs/trunk/gcc/config/avr/libgcc.S?view=ma
rkup&pathrev=172384

Regards

Francois



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (600, 'testing'), (300, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.39-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gcc-avr depends on:
ii  binutils-avr            2.20.1-2         Binary utilities supporting Atmel'
ii  libc6                   2.13-7           Embedded GNU C Library: Shared lib
ii  libcloog-ppl0           0.15.9-3         the Chunky Loop Generator (runtime
ii  libelfg0                0.8.13-3         an ELF object file access library
ii  libgmp10                2:5.0.1+dfsg-7   Multiprecision arithmetic library
ii  libgmpxx4ldbl           2:5.0.1+dfsg-7   Multiprecision arithmetic library 
ii  libmpc2                 0.9-3            multiple precision complex floatin
ii  libmpfr4                3.0.1-4          multiple precision floating-point 
ii  libppl-c4               0.11.2-3         Parma Polyhedra Library (C interfa
ii  libppl9                 0.11.2-3         Parma Polyhedra Library (runtime l
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

gcc-avr recommends no packages.

Versions of packages gcc-avr suggests:
ii  avr-libc                      1:1.7.1-2  Standard C library for Atmel AVR d
pn  gcc-4.2                       <none>     (no description available)
pn  gcc-doc                       <none>     (no description available)
pn  task-c-devel                  <none>     (no description available)

-- no debconf information
diff -Naurp ./gcc/config/avr/libgcc.S ./gcc/config/avr/libgcc.S 
--- ./gcc/config/avr/libgcc.S	2011-07-18 12:13:33.667601276 +0200
+++ ./gcc/config/avr/libgcc.S	2011-07-18 12:03:54.186773449 +0200
@@ -878,10 +878,9 @@ __do_clear_bss:
 #if defined(__AVR_HAVE_RAMPZ__)
 __do_global_ctors:
 	ldi	r17, hi8(__ctors_start)
-	ldi	r16, hh8(__ctors_start)
 	ldi	r28, lo8(__ctors_end)
 	ldi	r29, hi8(__ctors_end)
-	ldi	r20, hh8(__ctors_end)
+	ldi	r16, hh8(__ctors_end)
 	rjmp	.L__do_global_ctors_start
 .L__do_global_ctors_loop:
 #if defined (__AVR_TINY__)
@@ -890,15 +889,16 @@ __do_global_ctors:
 #else
 	sbiw	r28, 2
 #endif
-	sbc     r20, __zero_reg__
+	sbc     r16, __zero_reg__
 	mov_h	r31, r29
 	mov_l	r30, r28
-	out     __RAMPZ__, r20
+	out     __RAMPZ__, r16
 	XCALL	__tablejump_elpm__
 .L__do_global_ctors_start:
 	cpi	r28, lo8(__ctors_start)
 	cpc	r29, r17
-	cpc	r20, r16
+	ldi	r24, hh8(__ctors_start)
+	cpc	r16, r24
 	brne	.L__do_global_ctors_loop
 #else
 __do_global_ctors:
@@ -929,10 +929,9 @@ __do_global_ctors:
 #if defined(__AVR_HAVE_RAMPZ__)
 __do_global_dtors:
 	ldi	r17, hi8(__dtors_end)
-	ldi	r16, hh8(__dtors_end)
 	ldi	r28, lo8(__dtors_start)
 	ldi	r29, hi8(__dtors_start)
-	ldi	r20, hh8(__dtors_start)
+	ldi	r16, hh8(__dtors_start)
 	rjmp	.L__do_global_dtors_start
 .L__do_global_dtors_loop:
 #if defined (__AVR_TINY__)
@@ -941,15 +940,16 @@ __do_global_dtors:
 #else
 	sbiw	r28, 2
 #endif
-	sbc     r20, __zero_reg__
+	sbc     r16, __zero_reg__
 	mov_h	r31, r29
 	mov_l	r30, r28
-	out     __RAMPZ__, r20
+	out     __RAMPZ__, r16
 	XCALL	__tablejump_elpm__
 .L__do_global_dtors_start:
 	cpi	r28, lo8(__dtors_end)
 	cpc	r29, r17
-	cpc	r20, r16
+	ldi	r24, hh8(__dtors_end)
+	cpc	r16, r24
 	brne	.L__do_global_dtors_loop
 #else
 __do_global_dtors:

--- End Message ---
--- Begin Message ---
Source: gcc-avr
Source-Version: 1:4.5.3-2

We believe that the bug you reported is fixed in the latest version of
gcc-avr, which is due to be installed in the Debian FTP archive:

gcc-avr_4.5.3-2.dsc
  to main/g/gcc-avr/gcc-avr_4.5.3-2.dsc
gcc-avr_4.5.3-2.tar.gz
  to main/g/gcc-avr/gcc-avr_4.5.3-2.tar.gz
gcc-avr_4.5.3-2_amd64.deb
  to main/g/gcc-avr/gcc-avr_4.5.3-2_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Hakan Ardo <[email protected]> (supplier of updated gcc-avr package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Thu, 11 Aug 2011 18:50:38 +0200
Source: gcc-avr
Binary: gcc-avr
Architecture: source amd64
Version: 1:4.5.3-2
Distribution: unstable
Urgency: low
Maintainer: Hakan Ardo <[email protected]>
Changed-By: Hakan Ardo <[email protected]>
Description: 
 gcc-avr    - The GNU C compiler (cross compiler for avr)
Closes: 634341
Changes: 
 gcc-avr (1:4.5.3-2) unstable; urgency=low
 .
   * Added 57-ctors-dtors-patch.diff patch that fixes GCC bug 45263. It
     was ported from gcc cvs by Francois Lorrain
     <[email protected]> and confirmed by Changwoo Ryu
     <[email protected]> (closes: #634341)
Checksums-Sha1: 
 f91019ce5b955df311134ec6b7ba60453af371a8 954 gcc-avr_4.5.3-2.dsc
 7169479dbb4993229aac1c237fcfda40530c3d96 89773 gcc-avr_4.5.3-2.tar.gz
 9c13a0384ad42a6bbdcf5e7bd76cc20e43c0079e 8020406 gcc-avr_4.5.3-2_amd64.deb
Checksums-Sha256: 
 c475f6575dcf2c338543e68c678827a9ab58bd9f5821b622b4b799e5fe40c2ae 954 
gcc-avr_4.5.3-2.dsc
 d6bace780c8fccd8612947359eef9c1458b541d1ec35cf816733b3f442f8a906 89773 
gcc-avr_4.5.3-2.tar.gz
 49c9bb6d910eb71bce992dcf7c29d18acada915d32ac764ae9d49ab4682118a4 8020406 
gcc-avr_4.5.3-2_amd64.deb
Files: 
 92c1e839e76cf3bbf2d7b27c176590bb 954 devel extra gcc-avr_4.5.3-2.dsc
 7b34e1824590f9cc490fbb5c0f4ee5dd 89773 devel extra gcc-avr_4.5.3-2.tar.gz
 ab1758f53a0338500f633fec74b9ea8f 8020406 devel extra gcc-avr_4.5.3-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAk5GP5IACgkQAbtddT3jfcCirgCgrW7K7nvle33HRx6LheJVMjFS
hE8An2KFSnLXrFdhkHMLCRqA6wsgt/s+
=STvy
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to