about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--include/alloc-inl.h28
-rw-r--r--llvm_mode/afl-llvm-rt-lto.o.c3
-rw-r--r--llvm_mode/afl-llvm-rt.o.c6
3 files changed, 20 insertions, 17 deletions
diff --git a/include/alloc-inl.h b/include/alloc-inl.h
index a8483a9e..485446de 100644
--- a/include/alloc-inl.h
+++ b/include/alloc-inl.h
@@ -233,19 +233,17 @@ static inline u8 *DFL_ck_memdup_str(u8 *mem, u32 size) {
 
 /* User-facing macro to sprintf() to a dynamically allocated buffer. */
 
-#define alloc_printf(_str...) \
-    ({                                                 \
-                                                       \
-                                                       \
-                                                       \
-      u8 *_tmp;                                        \
-      s32 _len = snprintf(NULL, 0, _str);              \
-      if (_len < 0) FATAL("Whoa, snprintf() fails?!"); \
-      _tmp = ck_alloc(_len + 1);                       \
-      snprintf((char *)_tmp, _len + 1, _str);          \
-      _tmp;
-
-})
+#define alloc_printf(_str...)                        \
+  ({                                                 \
+                                                     \
+    u8 *_tmp;                                        \
+    s32 _len = snprintf(NULL, 0, _str);              \
+    if (_len < 0) FATAL("Whoa, snprintf() fails?!"); \
+    _tmp = ck_alloc(_len + 1);                       \
+    snprintf((char *)_tmp, _len + 1, _str);          \
+    _tmp;                                            \
+                                                     \
+  })
 
 /* Macro to enforce allocation limits as a last-resort defense against
    integer overflows. */
@@ -263,9 +261,7 @@ static inline u8 *DFL_ck_memdup_str(u8 *mem, u32 size) {
                                                                       \
     if (!(_r)) ABORT("Out of memory: can't allocate %u bytes", (_s)); \
                                                                       \
-  }
-
-while (0)
+  } while (0)
 
 /* Magic tokens used to mark used / freed chunks. */
 
diff --git a/llvm_mode/afl-llvm-rt-lto.o.c b/llvm_mode/afl-llvm-rt-lto.o.c
index 5921f968..3606cedd 100644
--- a/llvm_mode/afl-llvm-rt-lto.o.c
+++ b/llvm_mode/afl-llvm-rt-lto.o.c
@@ -10,6 +10,8 @@
 
 */
 
+#include <stdio.h>
+
 // to prevent the function from being removed
 unsigned char __afl_lto_mode = 0;
 
@@ -17,6 +19,7 @@ unsigned char __afl_lto_mode = 0;
 
 __attribute__((constructor(0))) void __afl_auto_init_globals(void) {
 
+  if (getenv("AFL_DEBUG")) fprintf(stderr, "[__afl_auto_init_globals]\n");
   __afl_lto_mode = 1;
 
 }
diff --git a/llvm_mode/afl-llvm-rt.o.c b/llvm_mode/afl-llvm-rt.o.c
index 56038f7a..ce8df332 100644
--- a/llvm_mode/afl-llvm-rt.o.c
+++ b/llvm_mode/afl-llvm-rt.o.c
@@ -63,7 +63,11 @@
    is used for instrumentation output before __afl_map_shm() has a chance to
    run. It will end up as .comm, so it shouldn't be too wasteful. */
 
-u8  __afl_area_initial[MAP_SIZE];
+#ifdef AFL_REAL_LD
+u8 __afl_area_initial[256000];
+#else
+u8                  __afl_area_initial[MAP_SIZE];
+#endif
 u8 *__afl_area_ptr = __afl_area_initial;
 u8 *__afl_dictionary;