From de13ef81f041f7f51687ef1873c74e853b97e73a Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 24 Apr 2015 17:13:22 +0100 Subject: [PATCH] Fix compile time warning messages about variables being used before they are initialised. PR 18313 bin * ieee.c (ieee_read_cxx_class): Initialise the varargs variable. * readelf.c (uncompress_section_contents): Zero initialise the zstream structure. bfd * compress.c (decompress_contents): Zero initialse the z_stream structure. --- bfd/ChangeLog | 6 ++++++ bfd/compress.c | 9 ++++++--- binutils/ChangeLog | 7 +++++++ binutils/ieee.c | 2 +- binutils/readelf.c | 9 ++++++--- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 11a74de..87e22c2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,11 @@ 2015-04-24 Nick Clifton + PR 18313 + * compress.c (decompress_contents): Zero initialse the z_stream + structure. + +2015-04-24 Nick Clifton + * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler local labels to include local labels with a numeric suffix and fake symbols. diff --git a/bfd/compress.c b/bfd/compress.c index d0f745f..07289e5 100644 --- a/bfd/compress.c +++ b/bfd/compress.c @@ -37,9 +37,12 @@ decompress_contents (bfd_byte *compressed_buffer, /* It is possible the section consists of several compressed buffers concatenated together, so we uncompress in a loop. */ - strm.zalloc = NULL; - strm.zfree = NULL; - strm.opaque = NULL; + /* PR 18313: The state field in the z_stream structure is supposed + to be invisible to the user (ie us), but some compilers will + still complain about it being used without initialisation. So + we first zero the entire z_stream structure and then set the fields + that we need. */ + memset (& strm, 0, sizeof strm); strm.avail_in = compressed_size - 12; strm.next_in = (Bytef*) compressed_buffer + 12; strm.avail_out = uncompressed_size; diff --git a/binutils/ChangeLog b/binutils/ChangeLog index b0a5b1b..44c56b5 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,10 @@ +2015-04-24 Nick Clifton + + PR 18313 + * ieee.c (ieee_read_cxx_class): Initialise the varargs variable. + * readelf.c (uncompress_section_contents): Zero initialise the + zstream structure. + 2015-04-23 H.J. Lu PR binutils/18209 diff --git a/binutils/ieee.c b/binutils/ieee.c index e93fcaa..a0d69d1 100644 --- a/binutils/ieee.c +++ b/binutils/ieee.c @@ -2954,7 +2954,7 @@ ieee_read_cxx_class (struct ieee_info *info, const bfd_byte **pp, { debug_type return_type; const debug_type *arg_types; - bfd_boolean varargs; + bfd_boolean varargs = FALSE; if (debug_get_type_kind (dhandle, pv->type) != DEBUG_KIND_FUNCTION) diff --git a/binutils/readelf.c b/binutils/readelf.c index 1533806..dfa5c0b 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -12067,9 +12067,12 @@ uncompress_section_contents (unsigned char **buffer, /* It is possible the section consists of several compressed buffers concatenated together, so we uncompress in a loop. */ - strm.zalloc = NULL; - strm.zfree = NULL; - strm.opaque = NULL; + /* PR 18313: The state field in the z_stream structure is supposed + to be invisible to the user (ie us), but some compilers will + still complain about it being used without initialisation. So + we first zero the entire z_stream structure and then set the fields + that we need. */ + memset (& strm, 0, sizeof strm); strm.avail_in = compressed_size - header_size; strm.next_in = (Bytef *) compressed_buffer + header_size; strm.avail_out = uncompressed_size; -- 2.7.4