Upstreaming the glibc Hurd port

Florian Weimer fweimer@redhat.com
Thu Apr 5 11:07:00 GMT 2018


On 04/03/2018 11:58 PM, Samuel Thibault wrote:
> Joseph Myers, on mar. 03 avril 2018 21:48:32 +0000, wrote:
>> The build for i686-gnu also fails using GCC 6 branch with
>> build-many-glibcs.py:
>>
>> hurdsig.c: In function 'interrupted_reply_port_location.isra.1':
>> hurdsig.c:250:39: error: 'portloc' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>>     *(volatile mach_port_t *) portloc = *portloc;
>>                                         ^~~~~~~~
>>
>> I haven't investigated whether this warning is valid, or whether it's
>> bogus
> 
> Well, it's completely bogus: portloc is initialized just above. I don't
> understand why it wouldn't see that.

You will have to look at the GIMPLE or assembler to determine if the 
warning is bogus after GCC has processed the setjmp call.  It may very 
well be the case that after those transformations, there *is* an 
uninitialized use of portloc.

Suppressing the warning could be the wrong thing to do here.  You may 
have to declare portloc itself volatile.

Thanks a lot for all these Hurd changes, by the way.  I really 
appreciate your work.

Thanks,
Florian



More information about the Libc-alpha mailing list