summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-06-12 20:56:57 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-14 14:37:31 +0100
commit3968f33b6542cf20cf63cf49bfbc033bd2486295 (patch)
tree2bdb5e2f692a3bd3ecadbf2b4c7dc9f54485c737 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch
parent022ca1d1357caafdfe23aa9ab82f90ba89b6942b (diff)
downloadopenembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.tar.gz
openembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.tar.bz2
openembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.tar.xz
openembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.zip
gcc-4.6.0: Bring in patches from FSF 4.6 branch
This brings in new patches from 4.6 release branch updates the comment section of existing branch to not contain patch numbers. Tested build on qemu for arm ppc mips x86 and x86_64 Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch
new file mode 100644
index 000000000..6a0d1602b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0369-PR-target-45263.patch
@@ -0,0 +1,71 @@
+From 361940153255ddf5f62977479589c074b7e8f93a Mon Sep 17 00:00:00 2001
+From: gjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 30 May 2011 08:53:12 +0000
+Subject: [PATCH] PR target/45263
+ * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors):
+ Don't use r20 around calls of __tablejump_elpm__
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174427 138bc75d-0d04-0410-961f-82ee72b054a4
+
+index 4a15f94..2e8d951 100644
+--- a/gcc/config/avr/libgcc.S
++++ b/gcc/config/avr/libgcc.S
+@@ -791,22 +791,22 @@ __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:
+ sbiw r28, 2
+- 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:
+@@ -832,22 +832,22 @@ __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:
+ sbiw r28, 2
+- 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:
+--
+1.7.0.4
+