On Tue, Aug 05, 2025 at 08:18:46AM +0200, Gabriele Monaco wrote:
> On Mon, 2025-08-04 at 12:45 -0700, Palmer Dabbelt wrote:
> > From: Palmer Dabbelt <[email protected]>
> > 
> > Some systems (like 32-bit RISC-V) only have the 64-bit time_t
> > versions of syscalls.  So handle the 32-bit time_t version of those
> > being undefined.
> > 
> > Fixes: f74f8bb246cf ("rv: Add rtapp_sleep monitor")
> > Signed-off-by: Palmer Dabbelt <[email protected]>
> > ---
> > This seems a little ugly, as it'll blow up when neither is defined. 
> > Some #if/#error type stuff seemed uglier, though, and that's the best
> > I could come up with.  I figure anyone without either flavor of futex
> > call is probably deep enough in the weeds to just figure what blows
> > up here...
> 
> Yeah, this is getting ugly.. I wasn't fun of this ifdeffery already but
> a few of them seemed acceptable, if we are really expecting any single
> one of them to potentially not be available, it isn't looking good.
> 
> What about doing in the beginning of the file something like:
> 
> /*
>  * Define dummy syscall numbers for systems not supporting them
>  */
> 
> #ifndef __NR_whatever
> #define __NR_whatever -1
> #endif
> 
> #ifndef __NR_some_exotic_syscall
> #define __NR_some_exotic_syscall -2
> #endif
> 
> The negative number would never match, we may add a mostly
> insignificant overhead checking for it but we keep the function
> readable. What do you think?

That would be much better, but the patch is fine as is, so I'm okay with
merging it:

Acked-by: Nam Cao <[email protected]>

The patch is just matching the existing ugly #ifdef style (I wonder who
even wrote that). So cleaning it up can be done in a follow-up patch.

Nam

Reply via email to