Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Feb 2018 11:21:17 -0800
From:      Conrad Meyer <cem@freebsd.org>
To:        Pedro Giffuni <pfg@freebsd.org>
Cc:        Justin Hibbits <jrh29@alumni.cwru.edu>, Ed Maste <emaste@freebsd.org>,  src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r329077 - head/usr.bin/tftp
Message-ID:  <CAG6CVpVina4t34du0wLODHtP78Mgfem%2BkO%2Be%2Bibe7LTbnqxapQ@mail.gmail.com>
In-Reply-To: <e0ded532-bd6b-648a-82c4-7734c56ba73b@FreeBSD.org>
References:  <201802091946.w19Jkqb3038864@repo.freebsd.org> <CAPyFy2A5zF5D7vDsnoYweh2DUNsO3i1mMJgCCj7uf4vZp=_qeA@mail.gmail.com> <CAHSQbTAfDo6dwPGrNfS9r_f07Z=SCWU9fJJc4PV9S9GEi_PMPg@mail.gmail.com> <e0ded532-bd6b-648a-82c4-7734c56ba73b@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Nah, both sets of warnings are spurious.  The first set is arguably
not a compiler bug, just lack of omniscience.  The variables are never
actually used uninitialized in the !interactive case.  The second set
is pure bug.  Justin found the workaround (same as before this change)
and has applied it.  Thanks, Justin.

Best,
Conrad

On Sat, Feb 10, 2018 at 9:10 AM, Pedro Giffuni <pfg@freebsd.org> wrote:
>
>
> On 02/10/18 11:13, Justin Hibbits wrote:
>>
>> On Fri, Feb 9, 2018 at 7:22 PM, Ed Maste <emaste@freebsd.org> wrote:
>>>
>>> On 9 February 2018 at 14:46, Conrad Meyer <cem@freebsd.org> wrote:
>>>>
>>>> Author: cem
>>>> Date: Fri Feb  9 19:46:51 2018
>>>> New Revision: 329077
>>>> URL: https://svnweb.freebsd.org/changeset/base/329077
>>>>
>>>> Log:
>>>>    tftp(1): Fix libedit state corruption involving signals
>>>
>>>  From https://ci.freebsd.org/job/FreeBSD-head-mips-build/391/console:
>>>
>>> 01:15:24 --- all_subdir_usr.bin/tftp ---
>>> 01:15:24 --- main.o ---
>>> 01:15:24 cc1: warnings being treated as errors
>>> 01:15:24 /usr/src/usr.bin/tftp/main.c: In function 'main':
>>> 01:15:24 /usr/src/usr.bin/tftp/main.c:182: warning: 'hist' may be used
>>> uninitialized in this function
>>> 01:15:24 /usr/src/usr.bin/tftp/main.c:181: warning: 'el' may be used
>>> uninitialized in this function
>>>
>> After initializing these, I see the following interesting error:
>>
>> /home/chmeee/freebsd/head/usr.bin/tftp/main.c:181: warning: variable
>> 'el' might be clobbered by 'longjmp' or 'vfork'
>> /home/chmeee/freebsd/head/usr.bin/tftp/main.c:182: warning: variable
>> 'hist' might be clobbered by 'longjmp' or 'vfork'
>>
>> This appears to be a known bug in gcc, at
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24239 so I don't know
>> what the best way to fix it is.
>
>
> Independent of the compiler bug, it does seem like 'el' and 'hist' can be
> used uninitialized for the non-interactive case.
>
> Untested, but perhaps an only-when-needed initialization like this may
> workaround the compiler bug.
>
> Cheers,
>
> Pedro.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpVina4t34du0wLODHtP78Mgfem%2BkO%2Be%2Bibe7LTbnqxapQ>