[PATCHv2 3/7] hurd: make function cast stronger
Simon Marchi
simark@simark.ca
Sat May 30 16:02:49 GMT 2020
On 2020-05-30 11:32 a.m., Samuel Thibault wrote:
> Simon Marchi, le sam. 30 mai 2020 10:47:50 -0400, a ecrit:
>> On 2020-05-29 6:01 p.m., Samuel Thibault wrote:
>>> process_reply_S.c:104:23: error: function called through a non-compatible type [-Werror]
>>> 104 | OutP->RetCode = (*(kern_return_t (*)(mach_port_t, kern_return_t)) S_proc_setmsgport_reply) (In0P->Head.msgh_request_port, In0P-
>>>
>>> gdb/ChangeLog:
>>>
>>> 2020-05-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
>>>
>>> * reply_mig_hack.awk (Error return): Cast function through
>>> void *, to bypass compiler function call check.
>>
>> If you are silencing a compiler warning, please explain why it is safe to do so.
>
> It is not actually safe, as explained by the comment above the changed
> lines, but as explained by the comment above really fixing it is very
> far from trivial.
>
> In my repo I have added
>
> “
> As the existing comment says, it is in general not safe to drop some parameters
> like this, but this is the error handling case, where the called function does
> not actually read them, and mig is currently planned to be used on i386 and
> x86_64 only, where this is not a problem. As the existing comment says, fixing
> it properly would be far from trivial: we can't just pass 0 for them, as they
> might not be scalar.
> ”
>
> Is that enough of an explanation for the changelog?
Ok, thanks, I missed that comment. But yeah, I think that text for the commit
message (not ChangeLog entry) is helpful!
Simon
More information about the Gdb-patches
mailing list