Index: third_party/afl/src/docs/INSTALL |
diff --git a/third_party/afl/src/docs/INSTALL b/third_party/afl/src/docs/INSTALL |
index fa8a34c357480ae4bda13e8995ea8e95217c5733..4168e88f587a6086f6d0e9fcdf33c0e152d55dfd 100644 |
--- a/third_party/afl/src/docs/INSTALL |
+++ b/third_party/afl/src/docs/INSTALL |
@@ -164,8 +164,20 @@ VirtualBox or so to run a hardware-accelerated Linux VM; it will run around |
20x faster or so. If you have a *really* compelling use case for Cygwin, let |
me know. |
-Although Android on x86 should theoretically work, the stock kernel has SHM |
-support compiled out, so you will need to address this issue first. It's |
-possible that all you need is this: |
+Although Android on x86 should theoretically work, the stock kernel may have |
+SHM support compiled out, and if so, you may have to address that issue first. |
+It's possible that all you need is this workaround: |
https://github.com/pelya/android-shmem |
+ |
+Joshua J. Drake notes that the Android linker adds a shim that automatically |
+intercepts SIGSEGV and related signals. To fix this issue and be able to see |
+crashes, you need to put this at the beginning of the fuzzed program: |
+ |
+ signal(SIGILL, SIG_DFL); |
+ signal(SIGABRT, SIG_DFL); |
+ signal(SIGBUS, SIG_DFL); |
+ signal(SIGFPE, SIG_DFL); |
+ signal(SIGSEGV, SIG_DFL); |
+ |
+You may need to #include <signal.h> first. |