Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #484 from stilor/fix-canadian
Fix canadian crosses
- Loading branch information
Showing
21 changed files
with
2,269 additions
and
189 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
69 changes: 69 additions & 0 deletions
69
patches/gcc/6.2.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
From 07453188b18a2cbe815917dbb893b4ebfdd793b6 Mon Sep 17 00:00:00 2001 | ||
From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> | ||
Date: Fri, 26 Aug 2016 10:23:20 +0000 | ||
Subject: [PATCH] [ARM] PR target/70473: Reduce size of Cortex-A8 automaton | ||
|
||
PR target/70473 | ||
* config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce | ||
reservation duration to 15 cycles. | ||
(cortex_a8_vfp_macs): Likewise. | ||
(cortex_a8_vfp_macd): Likewise. | ||
(cortex_a8_vfp_divs): Likewise. | ||
(cortex_a8_vfp_divd): Likewise. | ||
|
||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239772 | ||
138bc75d-0d04-0410-961f-82ee72b054a4 | ||
|
||
[Backport from gcc upstream commit 79f5d5e3cd5a668d5ecb2b6b0cce80ef5706ac53.] | ||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
--- | ||
gcc/config/arm/cortex-a8-neon.md | 14 +++++++++----- | ||
1 file changed, 9 insertions(+), 5 deletions(-) | ||
|
||
diff --git a/gcc/config/arm/cortex-a8-neon.md b/gcc/config/arm/cortex-a8-neon.md | ||
index 45f861f..b16c299 100644 | ||
--- a/gcc/config/arm/cortex-a8-neon.md | ||
+++ b/gcc/config/arm/cortex-a8-neon.md | ||
@@ -357,30 +357,34 @@ | ||
(eq_attr "type" "fmuls")) | ||
"cortex_a8_vfp,cortex_a8_vfplite*11") | ||
|
||
+;; Don't model a reservation for more than 15 cycles as this explodes the | ||
+;; state space of the automaton for little gain. It is unlikely that the | ||
+;; scheduler will find enough instructions to hide the full latency of the | ||
+;; instructions. | ||
(define_insn_reservation "cortex_a8_vfp_muld" 17 | ||
(and (eq_attr "tune" "cortexa8") | ||
(eq_attr "type" "fmuld")) | ||
- "cortex_a8_vfp,cortex_a8_vfplite*16") | ||
+ "cortex_a8_vfp,cortex_a8_vfplite*15") | ||
|
||
(define_insn_reservation "cortex_a8_vfp_macs" 21 | ||
(and (eq_attr "tune" "cortexa8") | ||
(eq_attr "type" "fmacs,ffmas")) | ||
- "cortex_a8_vfp,cortex_a8_vfplite*20") | ||
+ "cortex_a8_vfp,cortex_a8_vfplite*15") | ||
|
||
(define_insn_reservation "cortex_a8_vfp_macd" 26 | ||
(and (eq_attr "tune" "cortexa8") | ||
(eq_attr "type" "fmacd,ffmad")) | ||
- "cortex_a8_vfp,cortex_a8_vfplite*25") | ||
+ "cortex_a8_vfp,cortex_a8_vfplite*15") | ||
|
||
(define_insn_reservation "cortex_a8_vfp_divs" 37 | ||
(and (eq_attr "tune" "cortexa8") | ||
(eq_attr "type" "fdivs, fsqrts")) | ||
- "cortex_a8_vfp,cortex_a8_vfplite*36") | ||
+ "cortex_a8_vfp,cortex_a8_vfplite*15") | ||
|
||
(define_insn_reservation "cortex_a8_vfp_divd" 65 | ||
(and (eq_attr "tune" "cortexa8") | ||
(eq_attr "type" "fdivd, fsqrtd")) | ||
- "cortex_a8_vfp,cortex_a8_vfplite*64") | ||
+ "cortex_a8_vfp,cortex_a8_vfplite*15") | ||
|
||
;; Comparisons can actually take 7 cycles sometimes instead of four, | ||
;; but given all the other instructions lumped into type=ffarith that | ||
-- | ||
2.7.4 | ||
|
166 changes: 0 additions & 166 deletions
166
patches/gcc/6.2.0/840-microblaze-enable-dwarf-eh-support.patch
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
remove unused header, which breaks the toolchain building | ||
|
||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> | ||
|
||
diff -Nur gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c gcc-5.3.0/libgcc/config/m68k/linux-atomic.c | ||
--- gcc-5.3.0.orig/libgcc/config/m68k/linux-atomic.c 2015-01-05 13:33:28.000000000 +0100 | ||
+++ gcc-5.3.0/libgcc/config/m68k/linux-atomic.c 2016-03-19 09:25:07.000000000 +0100 | ||
@@ -33,7 +33,6 @@ | ||
using the kernel helper defined below. There is no support for | ||
64-bit operations yet. */ | ||
|
||
-#include <asm/unistd.h> | ||
#include <stdbool.h> | ||
|
||
#ifndef __NR_atomic_cmpxchg_32 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
avoids internal compiler error while compiling linux-atomic.c | ||
See here: | ||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 | ||
|
||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> | ||
|
||
diff -Nur gcc-5.3.0.orig/libgcc/config.host gcc-5.3.0/libgcc/config.host | ||
--- gcc-5.3.0.orig/libgcc/config.host 2015-10-01 14:01:18.000000000 +0200 | ||
+++ gcc-5.3.0/libgcc/config.host 2016-04-26 21:30:25.353691745 +0200 | ||
@@ -794,7 +794,7 @@ | ||
m68k*-*-openbsd*) | ||
;; | ||
m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc | ||
- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" | ||
+ tmake_file="$tmake_file m68k/t-floatlib" | ||
md_unwind_header=m68k/linux-unwind.h | ||
;; | ||
m68k-*-linux*) # Motorola m68k's running GNU/Linux |
60 changes: 60 additions & 0 deletions
60
patches/gcc/6.2.0/892-libgcc-mkmap-symver-support-skip_underscore.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
From ae9c3e354440c4a0f105a9eabfb2f77be085ebc1 Mon Sep 17 00:00:00 2001 | ||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
Date: Thu, 18 Aug 2016 17:59:16 +0200 | ||
Subject: [PATCH] libgcc/mkmap-symver: support skip_underscore | ||
|
||
Some platforms, such as Blackfin, have a special prefix for assembly | ||
symbols as opposed to C symbols. For this reason, a function named | ||
"foo()" in C will in fact be visible as a symbol called "_foo" in the | ||
ELF binary. | ||
|
||
The current linker version script logic in libgcc doesn't take into | ||
account this situation properly. The Blackfin specific | ||
libgcc/config/bfin/libgcc-glibc.ver has an additional "_" in front of | ||
every symbol so that it matches the output of "nm" (which gets parsed to | ||
produce the final linker version script). But due to this additional | ||
"_", ld no longer matches with the symbols since "ld" does the matching | ||
with the original symbol name, not the one prefixed with "_". | ||
|
||
Due to this, none of the symbols in libgcc/config/bfin/libgcc-glibc.ver | ||
are actually matched with symbols in libgcc. This causes all libgcc | ||
symbols to be left as "LOCAL", which causes lots of "undefined | ||
reference" whenever some C or C++ code that calls a function of libgcc | ||
is compiled. | ||
|
||
To address this, this commit introduces a "skip_underscore" variable to | ||
the mkmap-symver script. It tells mkmap-symver to ignore the leading | ||
underscore from the "nm" output. | ||
|
||
Note that this new argument is different from the existing | ||
"leading_underscore" argument, which *adds* an additional underscore to | ||
the generated linker version script. | ||
|
||
Having this functionality paves the way to using the generic linker | ||
version information for Blackfin, instead of using a custom one. | ||
|
||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
--- | ||
libgcc/mkmap-symver.awk | 6 +++++- | ||
1 file changed, 5 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/libgcc/mkmap-symver.awk b/libgcc/mkmap-symver.awk | ||
index 266832a..30bb179 100644 | ||
--- a/libgcc/mkmap-symver.awk | ||
+++ b/libgcc/mkmap-symver.awk | ||
@@ -47,7 +47,11 @@ state == "nm" && ($1 == "U" || $2 == "U") { | ||
|
||
state == "nm" && NF == 3 { | ||
split ($3, s, "@") | ||
- def[s[1]] = 1; | ||
+ if (skip_underscore) | ||
+ symname = substr(s[1], 2); | ||
+ else | ||
+ symname = s[1]; | ||
+ def[symname] = 1; | ||
sawsymbol = 1; | ||
next; | ||
} | ||
-- | ||
2.7.4 | ||
|
Oops, something went wrong.