[Toybox] [PATCH] strace: fix m68k build.
    Rob Landley 
    rob at landley.net
       
    Fri Dec  3 04:16:00 PST 2021
    
    
  
On 12/1/21 5:23 PM, enh via Toybox wrote:
> ---
>  toys/pending/strace.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
Applied, but the real problem is that different targets have different syscalls
in their headers, and the C() macros build break if a given syscall isn't there.
I posted about the start of automating syscall/ioctl harvesting from headers,
and have a TODO item to see if the kernel's trick can be adapted here:
#define __ARG_PLACEHOLDER_1 0,
#define __take_second_arg(__ignored, val, ...) val
#define __is_defined(x)                 ___is_defined(x)
#define ___is_defined(val)              ____is_defined(__ARG_PLACEHOLDER_##val)
#define ____is_defined(arg1_or_junk)    __take_second_arg(arg1_or_junk 1, 0)
#define IS_BUILTIN(option) __is_defined(option)
Unfortunately getting it to resolve to itself when #defined and nothing when not
defined (basically a generic macro version if #ifdef) is tricksy, and so far
hitting the headers with sed to make something to #include at build time looks
like a more promising approach...
Rob
    
    
More information about the Toybox
mailing list