re PR ipa/58398 (gcc.dg/attr-ifunc-4.c runfail regression after r202111)
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Tue, 17 Sep 2013 14:51:06 +0000 (14:51 +0000)
committerBernd Edlinger <edlinger@gcc.gnu.org>
Tue, 17 Sep 2013 14:51:06 +0000 (14:51 +0000)
2013-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ipa/58398
        * cgraph.c (cgraph_function_body_availability): Check for ifunc
        attribute, and don't inline the resolver in this case.

From-SVN: r202655

gcc/ChangeLog
gcc/cgraph.c

index 4af3c83f290145fe9c1187f680e261200ecaffd5..075b1a011bdb0ff1f924a53c177ea2806e7d7a93 100644 (file)
@@ -1,3 +1,9 @@
+2013-09-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR ipa/58398
+       * cgraph.c (cgraph_function_body_availability): Check for ifunc
+       attribute, and don't inline the resolver in this case.
+
 2013-09-17  Teresa Johnson  <tejohnson@google.com>
 
        * coverage.c (get_coverage_counts): Add missing newline.
index ebc48bf8aec830dd9b1d0607b1f9bededd40b3a4..c8e1b9c4c3e124610678a6ea8b500e2b4a89a20e 100644 (file)
@@ -2048,6 +2048,8 @@ cgraph_function_body_availability (struct cgraph_node *node)
     avail = AVAIL_LOCAL;
   else if (node->symbol.alias && node->symbol.weakref)
     cgraph_function_or_thunk_node (node, &avail);
+  else if (lookup_attribute ("ifunc", DECL_ATTRIBUTES (node->symbol.decl)))
+    avail = AVAIL_OVERWRITABLE;
   else if (!node->symbol.externally_visible)
     avail = AVAIL_AVAILABLE;
   /* Inline functions are safe to be analyzed even if their symbol can