aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-comdats.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 893f112..2718a5c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-16 Jan Hubicka <hubicka@ucw.cz>
+
+ PR ipa/65059
+ * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
+ external functions.
+
2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
* doc/bugreport.texi: Adjust section titles throughout the file
diff --git a/gcc/ipa-comdats.c b/gcc/ipa-comdats.c
index ad5945f..9f43f29 100644
--- a/gcc/ipa-comdats.c
+++ b/gcc/ipa-comdats.c
@@ -328,9 +328,14 @@ ipa_comdats (void)
FOR_EACH_DEFINED_SYMBOL (symbol)
{
+ struct cgraph_node *fun;
symbol->aux = NULL;
if (!symbol->get_comdat_group ()
&& !symbol->alias
+ /* Thunks to external functions do not need to be categorized. */
+ && (!(fun = dyn_cast <cgraph_node *> (symbol))
+ || !fun->thunk.thunk_p
+ || fun->function_symbol ()->definition)
&& symbol->real_symbol_p ())
{
tree *val = map.get (symbol);