Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Dec 2015 10:13:06 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Kai Wang <kaiw27@gmail.com>
Cc:        Adrian Chadd <adrian.chadd@gmail.com>, Ed Maste <emaste@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>
Subject:   Re: svn commit: r292120 - in head/contrib/elftoolchain: addr2line common elfcopy libelf readelf
Message-ID:  <54DEE8D2-6ED9-42D4-B480-299C23CB2D66@FreeBSD.org>
In-Reply-To: <CAMf2Fe7AK5K99nrUE4Rx7Zp6PKD%2Bg-LAqZzJLRJO1GdgEqS7yQ@mail.gmail.com>
References:  <201512112028.tBBKSRtn092966@repo.freebsd.org> <CAJ-VmomX%2BSYUwMpWkTiXMqAhQE%2BthmaMse7KnTFXWqc4JpXmPA@mail.gmail.com> <CAMf2Fe7AK5K99nrUE4Rx7Zp6PKD%2Bg-LAqZzJLRJO1GdgEqS7yQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_91055249-97B0-46CB-ADBA-5F29D2DB48BD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 13 Dec 2015, at 09:43, Kai Wang <kaiw27@gmail.com> wrote:
>=20
> 2015-12-13 7:04 GMT+01:00 Adrian Chadd <adrian.chadd@gmail.com>:
> cc1: warnings being treated as errors
> =
/usr/home/adrian/work/freebsd/head-embedded/src/usr.bin/readelf/../../cont=
rib/elftoolchain/readelf/readelf.c:
> In function 'dump_dwarf':
> =
/usr/home/adrian/work/freebsd/head-embedded/src/usr.bin/readelf/../../cont=
rib/elftoolchain/readelf/readelf.c:7479:
> warning: 'b' may be used uninitialized in this function
> =
/usr/home/adrian/work/freebsd/head-embedded/src/usr.bin/readelf/../../cont=
rib/elftoolchain/readelf/readelf.c:7479:
> note: 'b' was declared here
> =
/usr/home/adrian/work/freebsd/head-embedded/src/usr.bin/readelf/../../cont=
rib/elftoolchain/readelf/readelf.c:4758:
> warning: 'pe' may be used uninitialized in this function
> =
/usr/home/adrian/work/freebsd/head-embedded/src/usr.bin/readelf/../../cont=
rib/elftoolchain/readelf/readelf.c:4758:
> note: 'pe' was declared here
>=20
> .. these both seem like legit.
>=20
>=20
> Hi,
>=20
> Sorry about the breakage. Should be fixed by r292158.
> Somehow clang didn't catch this. Had to use gcc to see this warning.

Indeed, this is interesting.  For clang to warn similarly, the
-Wconditional-uninitialized option has to be enabled explicitly, and
then you get a lot of them (this is from just before your commit):

=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:4861=
:33: error: variable 'pe' may be uninitialized when used here =
[-Werror,-Wconditional-uninitialized]
                        dirndx =3D _decode_uleb128(&p, pe);
                                                     ^~
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:4758=
:17: note: initialize the variable 'pe' to silence this warning
        uint8_t *p, *pe;
                       ^
                        =3D NULL
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:6167=
:8: error: variable 'cie_ra' may be uninitialized when used here =
[-Werror,-Wconditional-uninitialized]
                            cie_ra);
                            ^~~~~~
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:6060=
:19: note: initialize the variable 'cie_ra' to silence this warning
        Dwarf_Half cie_ra;
                         ^
                          =3D 0
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:6164=
:8: error: variable 'cie_caf' may be uninitialized when used here =
[-Werror,-Wconditional-uninitialized]
                            cie_caf, cie_daf, low_pc, re->dbg);
                            ^~~~~~~
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:6057=
:24: note: initialize the variable 'cie_caf' to silence this warning
        Dwarf_Unsigned cie_caf, cie_daf, cie_instlen, func_len, =
fde_length;
                              ^
                               =3D 0
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:6164=
:17: error: variable 'cie_daf' may be uninitialized when used here =
[-Werror,-Wconditional-uninitialized]
                            cie_caf, cie_daf, low_pc, re->dbg);
                                     ^~~~~~~
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:6057=
:33: note: initialize the variable 'cie_daf' to silence this warning
        Dwarf_Unsigned cie_caf, cie_daf, cie_instlen, func_len, =
fde_length;
                                       ^
                                        =3D 0
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:7492=
:21: error: variable 'b' may be uninitialized when used here =
[-Werror,-Wconditional-uninitialized]
        if (shift < 32 && (b & 0x40) !=3D 0)
                           ^
=
/usr/src/usr.bin/readelf/../../contrib/elftoolchain/readelf/readelf.c:7479=
:11: note: initialize the variable 'b' to silence this warning
        uint8_t b;
                 ^
                  =3D '\0'
5 errors generated.

I'll check if there is a specific reason upstream does not enable this
warning by default for -Wall.  Maybe there is a risk of false positives.

-Dimitry


--Apple-Mail=_91055249-97B0-46CB-ADBA-5F29D2DB48BD
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.28

iEYEARECAAYFAlZtNqgACgkQsF6jCi4glqNtNgCgqXUa+7zhqWdqsKKuhLLC2dGq
9vcAoKidiRBPCCFY0wX0DQ9ZJwH8nLKL
=Q7rP
-----END PGP SIGNATURE-----

--Apple-Mail=_91055249-97B0-46CB-ADBA-5F29D2DB48BD--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54DEE8D2-6ED9-42D4-B480-299C23CB2D66>