diff options
author | vanhauser-thc <vh@thc.org> | 2024-06-12 09:16:59 +0200 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2024-06-12 09:17:07 +0200 |
commit | 0c9b460cc46aebfa4eb6e1fbe928895c0a8fcfbd (patch) | |
tree | 9962b54d222e7feabcf5b440a2a6271c7477427c /src | |
parent | e68d57feecd25a9698bc4df0c9b38274a7d4ebbe (diff) | |
download | afl++-0c9b460cc46aebfa4eb6e1fbe928895c0a8fcfbd.tar.gz |
MONOTONIC
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-common.c | 55 |
1 files changed, 43 insertions, 12 deletions
diff --git a/src/afl-common.c b/src/afl-common.c index efdb5d60..efe680a8 100644 --- a/src/afl-common.c +++ b/src/afl-common.c @@ -59,6 +59,43 @@ u8 last_intr = 0; #define AFL_PATH "/usr/local/lib/afl/" #endif +/* Convert seconds to milliseconds. */ +#define SEC_TO_MS(sec) ((sec) * 1000) +/* Convert seconds to microseconds. */ +#define SEC_TO_US(sec) ((sec) * 1000000) +/* Convert nanoseconds to milliseconds. */ +#define NS_TO_MS(ns) ((ns) / 1000000) +/* Convert nanoseconds to microseconds. */ +#define NS_TO_US(ns) ((ns) / 1000) +/* Convert seconds to milliseconds. */ +#define SEC_TO_MS(sec) ((sec) * 1000) +/* Convert seconds to microseconds. */ +#define SEC_TO_US(sec) ((sec) * 1000000) +/* Convert nanoseconds to milliseconds. */ +#define NS_TO_MS(ns) ((ns) / 1000000) +/* Convert nanoseconds to microseconds. */ +#define NS_TO_US(ns) ((ns) / 1000) +/* Convert nanoseconds to microseconds. */ +#define US_TO_MS(us) ((us) / 1000) +/* Convert seconds to milliseconds. */ +#define SEC_TO_MS(sec) ((sec) * 1000) +/* Convert seconds to microseconds. */ +#define SEC_TO_US(sec) ((sec) * 1000000) +/* Convert nanoseconds to milliseconds. */ +#define NS_TO_MS(ns) ((ns) / 1000000) +/* Convert nanoseconds to microseconds. */ +#define NS_TO_US(ns) ((ns) / 1000) +/* Convert seconds to milliseconds. */ +#define SEC_TO_MS(sec) ((sec) * 1000) +/* Convert seconds to microseconds. */ +#define SEC_TO_US(sec) ((sec) * 1000000) +/* Convert nanoseconds to milliseconds. */ +#define NS_TO_MS(ns) ((ns) / 1000000) +/* Convert nanoseconds to microseconds. */ +#define NS_TO_US(ns) ((ns) / 1000) +/* Convert nanoseconds to microseconds. */ +#define US_TO_MS(us) ((us) / 1000) + void *afl_memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen) { @@ -976,12 +1013,9 @@ void read_bitmap(u8 *fname, u8 *map, size_t len) { inline u64 get_cur_time(void) { - struct timeval tv; - struct timezone tz; - - gettimeofday(&tv, &tz); - - return (tv.tv_sec * 1000ULL) + (tv.tv_usec / 1000); + struct timespec ts; + (void)clock_gettime(CLOCK_MONOTONIC, &ts); + return (u64)(SEC_TO_MS((uint64_t)ts.tv_sec) + NS_TO_MS((uint64_t)ts.tv_nsec)); } @@ -989,12 +1023,9 @@ inline u64 get_cur_time(void) { inline u64 get_cur_time_us(void) { - struct timeval tv; - struct timezone tz; - - gettimeofday(&tv, &tz); - - return (tv.tv_sec * 1000000ULL) + tv.tv_usec; + struct timespec ts; + (void)clock_gettime(CLOCK_MONOTONIC, &ts); + return (u64)(SEC_TO_US((uint64_t)ts.tv_sec) + NS_TO_US((uint64_t)ts.tv_nsec)); } |