diff options
author | Alan Modra <amodra@gmail.com> | 2022-01-13 15:42:13 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-01-13 16:50:15 +1030 |
commit | 1ffce3f87dc6e62d49b5aaa0bc29c6d4cfbc6db6 (patch) | |
tree | 3884c44d0a8eb321b7ed2b580b7d23799966d9fd | |
parent | c39828d4c90815053009043468cb981b3125a76b (diff) | |
download | binutils-1ffce3f87dc6e62d49b5aaa0bc29c6d4cfbc6db6.zip binutils-1ffce3f87dc6e62d49b5aaa0bc29c6d4cfbc6db6.tar.gz binutils-1ffce3f87dc6e62d49b5aaa0bc29c6d4cfbc6db6.tar.bz2 |
Re: gas: add visibility support using GNU syntax on XCOFF
tc-ppc.c: In function 'ppc_comm':
tc-ppc.c:4560:40: error: 'visibility' may be used uninitialized in this function [-Werror=maybe-uninitialized]
With that fixed we hit lots of segfaults in the ld testsuite.
PR 22085
bfd/
* xcofflink.c (xcoff_link_input_bfd): Don't segfault on NULL
sym_hash.
gas/
* config/tc-ppc.c (ppc_comm): Init visibility.
-rw-r--r-- | bfd/xcofflink.c | 7 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 6e99472..70d371e 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 ac10772..054f9c7 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); |