From 9bbc1a67d375f36d009bf5ba8ffd7d9c53511885 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 10 Oct 2011 12:43:14 +0000 Subject: * ldmain.c (main): Move code twiddling various config and link_info bits to.. * lexsup.c (parse_args): ..here. Move plugin_load_plugins call into main. * plugin.c (set_tv_header): Test link_info.executable, not link_info.shared. (is_visible_from_outside): Likewise. Delete redundant is_ir_dummy_bfd check and "section" parameter. --- ld/plugin.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'ld/plugin.c') diff --git a/ld/plugin.c b/ld/plugin.c index 250233b..5f4aa8f 100644 --- a/ld/plugin.c +++ b/ld/plugin.c @@ -442,18 +442,14 @@ release_input_file (const void *handle) /* Return TRUE if a defined symbol might be reachable from outside the universe of claimed objects. */ static inline bfd_boolean -is_visible_from_outside (struct ld_plugin_symbol *lsym, asection *section, +is_visible_from_outside (struct ld_plugin_symbol *lsym, struct bfd_link_hash_entry *blhe) { struct bfd_sym_chain *sym; - /* Section's owner may be NULL if it is the absolute - section, fortunately is_ir_dummy_bfd handles that. */ - if (!is_ir_dummy_bfd (section->owner)) - return TRUE; if (link_info.relocatable) return TRUE; - if (link_info.export_dynamic || link_info.shared) + if (link_info.export_dynamic || !link_info.executable) { /* Check if symbol is hidden by version script. */ if (bfd_hide_sym_by_version (link_info.version_info, @@ -580,7 +576,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms, symbol is externally visible. */ if (blhe->non_ir_ref) res = LDPR_PREVAILING_DEF; - else if (is_visible_from_outside (&syms[n], owner_sec, blhe)) + else if (is_visible_from_outside (&syms[n], blhe)) res = def_ironly_exp; } @@ -701,7 +697,7 @@ set_tv_header (struct ld_plugin_tv *tv) case LDPT_LINKER_OUTPUT: TVU(val) = (link_info.relocatable ? LDPO_REL - : (link_info.shared ? LDPO_DYN : LDPO_EXEC)); + : link_info.executable ? LDPO_EXEC : LDPO_DYN); break; case LDPT_OUTPUT_NAME: TVU(string) = output_filename; -- cgit v1.1