aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-01-18 20:18:18 +0100
committervan Hauser <vh@thc.org>2021-01-18 20:18:18 +0100
commit0b545aaeb45141e91273f2358ec457293c341c92 (patch)
tree1daa2eef3c079df2a737832d92a02ff05bb56c96 /include
parent94a15b8ca790a87d88c7513282250257f32a48c0 (diff)
downloadAFLplusplus-0b545aaeb45141e91273f2358ec457293c341c92.tar.gz
use enums, support cmplog map collisions
Diffstat (limited to 'include')
-rw-r--r--include/cmplog.h8
-rw-r--r--include/config.h2
-rw-r--r--include/types.h47
3 files changed, 31 insertions, 26 deletions
diff --git a/include/cmplog.h b/include/cmplog.h
index 6392c503..878ed60c 100644
--- a/include/cmplog.h
+++ b/include/cmplog.h
@@ -38,17 +38,17 @@
#define SHAPE_BYTES(x) (x + 1)
-#define CMP_TYPE_INS 0
-#define CMP_TYPE_RTN 1
+#define CMP_TYPE_INS 1
+#define CMP_TYPE_RTN 2
struct cmp_header {
unsigned hits : 24;
unsigned id : 24;
unsigned shape : 5;
- unsigned type : 1;
+ unsigned type : 2;
unsigned attribute : 4;
- unsigned reserved : 6;
+ unsigned reserved : 5;
} __attribute__((packed));
diff --git a/include/config.h b/include/config.h
index c0cd0ef1..c9c4a677 100644
--- a/include/config.h
+++ b/include/config.h
@@ -23,8 +23,6 @@
#ifndef _HAVE_CONFIG_H
#define _HAVE_CONFIG_H
-#include "types.h"
-
/* Version string: */
// c = release, d = volatile github dev, e = experimental branch
diff --git a/include/types.h b/include/types.h
index d5c31597..7b94fb83 100644
--- a/include/types.h
+++ b/include/types.h
@@ -25,12 +25,15 @@
#include <stdint.h>
#include <stdlib.h>
+#include "config.h"
-typedef uint8_t u8;
-typedef uint16_t u16;
-typedef uint32_t u32;
+typedef uint8_t u8;
+typedef uint16_t u16;
+typedef uint32_t u32;
+#ifdef WORD_SIZE_64
typedef unsigned __int128 uint128_t;
typedef uint128_t u128;
+#endif
/* Extended forkserver option values */
@@ -59,12 +62,14 @@ typedef uint128_t u128;
typedef unsigned long long u64;
-typedef int8_t s8;
-typedef int16_t s16;
-typedef int32_t s32;
-typedef int64_t s64;
+typedef int8_t s8;
+typedef int16_t s16;
+typedef int32_t s32;
+typedef int64_t s64;
+#ifdef WORD_SIZE_64
typedef __int128 int128_t;
typedef int128_t s128;
+#endif
#ifndef MIN
#define MIN(a, b) \
@@ -119,19 +124,21 @@ typedef int128_t s128;
})
// It is impossible to define 128 bit constants, so ...
-#define SWAPN(_x, _l) \
- ({ \
- \
- u128 _res = (_x), _ret; \
- char *d = (char *)&_ret, *s = (char *)&_res; \
- int i; \
- for (i = 0; i < 16; i++) \
- d[15 - i] = s[i]; \
- u32 sr = 128U - ((_l) << 3U); \
- (_ret >>= sr); \
- (u128) _ret; \
- \
- })
+#ifdef WORD_SIZE_64
+ #define SWAPN(_x, _l) \
+ ({ \
+ \
+ u128 _res = (_x), _ret; \
+ char *d = (char *)&_ret, *s = (char *)&_res; \
+ int i; \
+ for (i = 0; i < 16; i++) \
+ d[15 - i] = s[i]; \
+ u32 sr = 128U - ((_l) << 3U); \
+ (_ret >>= sr); \
+ (u128) _ret; \
+ \
+ })
+#endif
#define SWAPNN(_x, _y, _l) \
({ \