diff options
author | Jan Hubicka <jh@suse.cz> | 2015-11-26 00:05:07 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-11-25 23:05:07 +0000 |
commit | 1ff9ed6fb282ab8a6f1b2aa1655b577cdc2f0e41 (patch) | |
tree | 695e737710e979a37c3a6c8eac41f4786c766cad /gcc/common.opt | |
parent | c9d82fb023ac0bfb69a3835491ddb47268bef09b (diff) | |
download | gcc-1ff9ed6fb282ab8a6f1b2aa1655b577cdc2f0e41.zip gcc-1ff9ed6fb282ab8a6f1b2aa1655b577cdc2f0e41.tar.gz gcc-1ff9ed6fb282ab8a6f1b2aa1655b577cdc2f0e41.tar.bz2 |
re PR lto/67548 (LTO drops weak binding with "ld -r")
PR lto/67548
* lto-plugin.c (linker_output, linker_output_set): New statics.
(all_symbols_read_handler): Add -flinker-output option.
(onload): Record linker_output info.
* ipa-visibility.c (cgraph_externally_visible_p,
varpool_node::externally_visible_p): When doing incremental linking,
hidden symbols may be still used later.
(update_visibility_by_resolution_info): Do not drop weak during
incremental link.
(function_and_variable_visibility): Fix formating.
* flag-types.h (lto_linker_output): Declare.
* common.opt 9flag_incremental_link): New flag.
* lto-lang.c (lto_post_options): Process flag_lto_linker_output.
* lang.opt (lto_linker_output): New enum.
(flinker_output): New flag.
From-SVN: r230915
Diffstat (limited to 'gcc/common.opt')
-rw-r--r-- | gcc/common.opt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt index 3eb520e..e1617c4 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -46,6 +46,12 @@ int optimize_fast Variable bool in_lto_p = false +; This variable is set to non-0 only by LTO front-end. 1 indicates that +; the output produced will be used for incrmeental linking (thus weak symbols +; can still be bound). +Variable +int flag_incremental_link = 0 + ; 0 means straightforward implementation of complex divide acceptable. ; 1 means wide ranges of inputs must work for complex divide. ; 2 means C99-like requirements for complex multiply and divide. |