ed0d2da02b
PR lto/47247 * lto-plugin.c (get_symbols_v2): New variable. (write_resolution): Use V2 API when available. (onload): Handle LDPT_GET_SYMBOLS_V2. * lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve when resolution is already availbale from plugin. (lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP. * cgraph.c (ld_plugin_symbol_resolution): Add prevailing_def_ironly_exp. * lto-cgraph.c (LDPR_NUM_KNOWN): Update. * ipa.c (varpool_externally_visible_p): IRONLY variables are never externally visible. * varasm.c (resolution_to_local_definition_p): Add LDPR_PREVAILING_DEF_IRONLY_EXP. (resolution_local_p): Likewise. * common.c (lto_resolution_str): Add new resolution. * common.h (lto_resolution_str): Likewise. From-SVN: r179424
48 lines
1.4 KiB
C
48 lines
1.4 KiB
C
/* Common code for the plugin and lto1.
|
|
Copyright (C) 2009 Free Software Foundation, Inc.
|
|
Contributed by Rafael Avila de Espindola (espindola@google.com).
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
|
02110-1301, USA. */
|
|
|
|
#include "common.h"
|
|
|
|
const char *lto_kind_str[5] __attribute__ ((visibility ("hidden"))) =
|
|
{
|
|
"DEF", "WEAKDEF", "UNDEF",
|
|
"WEAKUNDEF", "COMMON"
|
|
};
|
|
|
|
const char *lto_visibility_str[4] __attribute__ ((visibility ("hidden"))) =
|
|
{
|
|
"DEFAULT", "PROTECTED",
|
|
"INTERNAL", "HIDDEN"
|
|
};
|
|
|
|
const char *lto_resolution_str[10] __attribute__ ((visibility ("hidden"))) =
|
|
{
|
|
"UNKNOWN",
|
|
"UNDEF",
|
|
"PREVAILING_DEF",
|
|
"PREVAILING_DEF_IRONLY",
|
|
"PREEMPTED_REG",
|
|
"PREEMPTED_IR",
|
|
"RESOLVED_IR",
|
|
"RESOLVED_EXEC",
|
|
"RESOLVED_DYN",
|
|
"PREVAILING_DEF_IRONLY_EXP",
|
|
};
|
|
|