SOURCES: gcc-pr24295.patch (NEW) - critical fix / wrong-code. [4...
pluto
pluto at pld-linux.org
Wed Oct 19 11:09:10 CEST 2005
Author: pluto Date: Wed Oct 19 09:09:10 2005 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- critical fix / wrong-code.
[4.1 regression] Xorg broken, #pragma weak foo = bar no longer causes
bar to be referenced
---- Files affected:
SOURCES:
gcc-pr24295.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/gcc-pr24295.patch
diff -u /dev/null SOURCES/gcc-pr24295.patch:1.1
--- /dev/null Wed Oct 19 11:09:10 2005
+++ SOURCES/gcc-pr24295.patch Wed Oct 19 11:09:05 2005
@@ -0,0 +1,43 @@
+--- 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 = identifier_global_value (value);
++ 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
================================================================
More information about the pld-cvs-commit
mailing list