• E
    build: work around older systemtap header · 6611d9eb
    Eric Blake 提交于
    Systemtap 1.2 <sys/sdt.h> tried to expand STAP_PROBE3 into an
    initialization:
      volatile __typeof__(arg) foo = arg;
    but that fails if arg was declared as 'char arg[100]'.
    Rather than make all callers to PROBE deal with the stupidity
    of <sys/sdt.h>, we instead make PROBE cast away the problem.
    Some of this preprocessor abuse copies ideas in src/libvirt.c.
    
    * daemon/libvirtd.h (PROBE): Add casts to all arguments, using...
    (VIR_ADD_CASTS, VIR_ADD_CAST, VIR_ADD_CAST2, VIR_ADD_CAST3)
    (VIR_ADD_CAST_EXPAND, VIR_ADD_CAST_PASTE, VIR_COUNT_ARGS)
    (VIR_ARG5, PROBE_EXPAND): New macros.
    Reported by Wen Congyang.
    6611d9eb
libvirtd.h 4.2 KB