diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 6e994720f6d..70d371e4aed 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -4615,8 +4615,11 @@ xcoff_link_input_bfd (struct xcoff_final_link_info *flinfo, } /* Update visibility. */ - isym.n_type &= ~SYM_V_MASK; - isym.n_type |= (*sym_hash)->visibility; + if (*sym_hash) + { + isym.n_type &= ~SYM_V_MASK; + isym.n_type |= (*sym_hash)->visibility; + } /* Output the symbol. */ bfd_coff_swap_sym_out (output_bfd, (void *) &isym, (void *) outsym); diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index ac10772a61e..054f9c72161 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -4380,7 +4380,7 @@ ppc_comm (int lcomm) symbolS *lcomm_sym = NULL; symbolS *sym; char *pfrag; - unsigned short visibility; + unsigned short visibility = 0; struct ppc_xcoff_section *section; endc = get_symbol_name (&name);