bigger initial map when LTO
diff --git a/include/alloc-inl.h b/include/alloc-inl.h
index a8483a9..485446d 100644
--- a/include/alloc-inl.h
+++ b/include/alloc-inl.h
@@ -233,19 +233,17 @@
/* 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 @@
\
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 5921f96..3606ced 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 @@
__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 56038f7..ce8df33 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;