diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:46:13 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:46:13 +0200 |
commit | 8d89651ef729e560ad96dcfc002fcde6ff7f923b (patch) | |
tree | eb5be01c25f735d12fe9881ee6327c9b7e8bbe39 /meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9/0056-top-level-reorder_gcc-bug-61144.patch | |
download | meta-linaro-dizzy-enea.tar.gz |
initial commit for Enea Linux 5.0 armdizzy-enea
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9/0056-top-level-reorder_gcc-bug-61144.patch')
-rw-r--r-- | meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9/0056-top-level-reorder_gcc-bug-61144.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9/0056-top-level-reorder_gcc-bug-61144.patch b/meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9/0056-top-level-reorder_gcc-bug-61144.patch new file mode 100644 index 0000000..f448932 --- /dev/null +++ b/meta-linaro-toolchain/recipes-devtools/gcc/gcc-linaro-4.9/0056-top-level-reorder_gcc-bug-61144.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | |||
2 | Upstream-Status: Backport | ||
3 | |||
4 | Originally-submitted-by: Peter Urbanec <openembedded-devel@urbanec.net> | ||
5 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
6 | |||
7 | --- /dev/null | ||
8 | +++ b/meta/recipes-devtools/gcc/gcc-4.9/0056-top-level-reorder_gcc-bug-61144.patch | ||
9 | @@ -0,0 +1,21 @@ | ||
10 | +--- a/gcc/varpool.c 2014/10/05 02:50:01 215895 | ||
11 | ++++ b/gcc/varpool.c 2014/10/05 04:52:19 215896 | ||
12 | +@@ -329,8 +329,16 @@ | ||
13 | + | ||
14 | + /* Variables declared 'const' without an initializer | ||
15 | + have zero as the initializer if they may not be | ||
16 | +- overridden at link or run time. */ | ||
17 | +- if (!DECL_INITIAL (real_decl) | ||
18 | ++ overridden at link or run time. | ||
19 | ++ | ||
20 | ++ It is actually requirement for C++ compiler to optimize const variables | ||
21 | ++ consistently. As a GNU extension, do not enfore this rule for user defined | ||
22 | ++ weak variables, so we support interposition on: | ||
23 | ++ static const int dummy = 0; | ||
24 | ++ extern const int foo __attribute__((__weak__, __alias__("dummy"))); | ||
25 | ++ */ | ||
26 | ++ if ((!DECL_INITIAL (real_decl) | ||
27 | ++ || (DECL_WEAK (decl) && !DECL_COMDAT (decl))) | ||
28 | + && (DECL_EXTERNAL (decl) || decl_replaceable_p (decl))) | ||
29 | + return error_mark_node; | ||
30 | + | ||
31 | |||