riboseinc / retrace

retrace is a versatile security vulnerability / bug discovery tool through monitoring and modifying the behavior of compiled binaries on Linux, OpenBSD/FreeBSD/NetBSD (shared object) and macOS (dynamic library).
Other
60 stars 19 forks source link

Fix `gettimeofday` type conflicts (Ubuntu 20.04, nix on Linux) #420

Closed ribose-jeffreylau closed 2 years ago

ribose-jeffreylau commented 2 years ago

https://github.com/riboseinc/retrace/runs/4656054633?check_suite_focus=true#step:6:405

In file included from time.c:26:
time.c:88:28: error: conflicting types for ‘gettimeofday’
   88 | int RETRACE_IMPLEMENTATION(gettimeofday)(struct timeval *tv, struct timezone *tz)
      |                            ^~~~~~~~~~~~
common.h:170:39: note: in definition of macro ‘RETRACE_IMPLEMENTATION’
  170 | #define RETRACE_IMPLEMENTATION(func) (func)
      |                                       ^~~~
In file included from common.h:9,
                 from time.c:26:
/usr/include/x86_64-linux-gnu/sys/time.h:66:12: note: previous declaration of ‘gettimeofday’ was here
   66 | extern int gettimeofday (struct timeval *__restrict __tv,
      |            ^~~~~~~~~~~~
make[3]: *** [Makefile:874: libretrace_la-time.lo] Error 1