diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2013-09-17 14:51:06 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2013-09-17 14:51:06 +0000 |
commit | 27442c2405bc264c435b485db9a13f6061535aa7 (patch) | |
tree | 940d062be15ecc9055552e55be3f65b2d8ab9f0d | |
parent | 753b9bc3bbc3b1b514fbd92a8e862abc616792a2 (diff) | |
download | gcc-27442c2405bc264c435b485db9a13f6061535aa7.zip gcc-27442c2405bc264c435b485db9a13f6061535aa7.tar.gz gcc-27442c2405bc264c435b485db9a13f6061535aa7.tar.bz2 |
re PR ipa/58398 (gcc.dg/attr-ifunc-4.c runfail regression after r202111)
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cgraph.c | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4af3c83..075b1a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/cgraph.c b/gcc/cgraph.c index ebc48bf..c8e1b9c 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -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 |