From: Paweł Sikora Date: Thu, 27 Oct 2005 17:20:40 +0000 (+0000) Subject: - obsoletes. X-Git-Tag: auto/th/gcc-4_1_0-0_20051027T1624UTC_1~2 X-Git-Url: http://git.pld-linux.org/?a=commitdiff_plain;h=04d31bd347a4e70f32fe296276949d745880d924;hp=59bafdad6df42c7d9c8c909cb95dd93deb16004a;p=packages%2Fgcc.git - obsoletes. Changed files: gcc-pr20606_pr24069.patch -> 1.2 gcc-pr24295.patch -> 1.3 --- diff --git a/gcc-pr20606_pr24069.patch b/gcc-pr20606_pr24069.patch deleted file mode 100644 index 0e040e6..0000000 --- a/gcc-pr20606_pr24069.patch +++ /dev/null @@ -1,33 +0,0 @@ -The problem here is that we have an indirect jump to a label. -JUMP_LABEL (insn) will be NULL but we will have a reg note REG_LABEL -for the label. This patch fixes the problem by using that reg note. - -PR 24069 is reproducible with a profiledbootstrap on powerpc-linux-gnu -and PR 20606 is reproducible with a java compiling from byte-code -with -findirect-dispatch and -fPIC both of which are hard to a testcase -for the testsuite. - ---- gcc/gcc/cfgbuild.c 25 Jun 2005 01:59:28 -0000 1.68 -+++ gcc/gcc/cfgbuild.c 2 Oct 2005 18:22:25 -0000 -@@ -347,8 +347,19 @@ make_edges (basic_block min, basic_block - /* Otherwise, we have a plain conditional or unconditional jump. */ - else - { -- gcc_assert (JUMP_LABEL (insn)); -- make_label_edge (edge_cache, bb, JUMP_LABEL (insn), 0); -+ rtx label = JUMP_LABEL (insn); -+ /* For indirect jumps to a label, JUMP_LABEL will be NULL, grab -+ the label from the REG_LABEL note which should have been setup -+ correctly already for the indirect jump. */ -+ if (!label) -+ { -+ label = find_reg_note (insn, REG_LABEL, NULL_RTX); -+ if (label) -+ label = XEXP (label, 0); -+ } -+ -+ gcc_assert (label); -+ make_label_edge (edge_cache, bb, label, 0); - } - } - diff --git a/gcc-pr24295.patch b/gcc-pr24295.patch deleted file mode 100644 index 5d41111..0000000 --- a/gcc-pr24295.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- a/gcc/c-pragma.c 2005-07-19 20:19:12.000000000 +0000 -+++ b/gcc/c-pragma.c 2005-10-19 09:03:52.461999480 +0000 -@@ -36,6 +36,7 @@ - #include "tm_p.h" - #include "vec.h" - #include "target.h" -+#include "cgraph.h" - - #define GCC_BAD(gmsgid) \ - do { warning (OPT_Wpragmas, gmsgid); return; } while (0) -@@ -310,7 +311,7 @@ - alias_id = TREE_PURPOSE (t); - id = TREE_VALUE (t); - -- if (TREE_VALUE (t) == NULL) -+ if (id == NULL) - continue; - - decl = build_decl (FUNCTION_DECL, alias_id, default_function_type); -@@ -330,6 +331,7 @@ - { - tree name, value, x, decl; - enum cpp_ttype t; -+ struct cgraph_varpool_node *node; - - value = 0; - -@@ -354,6 +356,15 @@ - } - else - pending_weaks = tree_cons (name, value, pending_weaks); -+ -+ decl = value ? identifier_global_value (value) : NULL_TREE; -+ if (decl && DECL_P (decl)) -+ { -+ /* Force DECL into the assembler output no matter what. */ -+ node = cgraph_varpool_node (decl); -+ cgraph_varpool_mark_needed_node (node); -+ node->force_output = true; -+ } - } - #else - void