[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCHv2 3/7] hurd: make function cast stronger

From: Samuel Thibault
Subject: Re: [PATCHv2 3/7] hurd: make function cast stronger
Date: Sat, 30 May 2020 17:32:13 +0200
User-agent: NeoMutt/20170609 (1.8.3)

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?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]