aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-07-13 17:57:02 +0200
committervan Hauser <vh@thc.org>2020-07-13 17:57:02 +0200
commit4d929f80fbf22eeb09612a575bcd1a4141b9a8a9 (patch)
treecec725521990808bb9888a01151733d0b7b49aed
parent6b79e1f76dee1dc5775b1e10edfa5b2180f553f8 (diff)
downloadafl++-4d929f80fbf22eeb09612a575bcd1a4141b9a8a9.tar.gz
fix for laf intel float split not enabled if not not on a tty
-rwxr-xr-x.custom-format.py3
-rw-r--r--docs/Changelog.md3
-rw-r--r--examples/afl_untracer/README.md1
-rw-r--r--examples/afl_untracer/afl-untracer.c14
-rw-r--r--llvm_mode/split-compares-pass.so.cc4
5 files changed, 15 insertions, 10 deletions
diff --git a/.custom-format.py b/.custom-format.py
index 6f1b0bfa..60f6d9c3 100755
--- a/.custom-format.py
+++ b/.custom-format.py
@@ -32,7 +32,8 @@ if CLANG_FORMAT_BIN is None:
p = subprocess.Popen(["clang-format-10", "--version"], stdout=subprocess.PIPE)
o, _ = p.communicate()
o = str(o, "utf-8")
- o = o[len("clang-format version "):].strip()
+ o = re.sub(r".*ersion ", "", o)
+ #o = o[len("clang-format version "):].strip()
o = o[:o.find(".")]
o = int(o)
except:
diff --git a/docs/Changelog.md b/docs/Changelog.md
index b0bda6dc..8fb85ce6 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -13,7 +13,8 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- afl-fuzz:
- eliminated CPU affinity race condition for -S/-M runs
- llvm_mode:
- - fix for laf-intel float splitting
+ - fixes for laf-intel float splitting (thanks to mark-griffin for
+ reporting)
- LTO: autodictionary mode is a default
- LTO: instrim instrumentation disabled, only classic support used
as it is always better
diff --git a/examples/afl_untracer/README.md b/examples/afl_untracer/README.md
index e59792cb..9cb13527 100644
--- a/examples/afl_untracer/README.md
+++ b/examples/afl_untracer/README.md
@@ -32,6 +32,7 @@ To easily run the scripts without needing to run the GUI with Ghidra:
/opt/ghidra/support/analyzeHeadless /tmp/ tmp$$ -import libtestinstr.so -postscript ./ghidra_get_patchpoints.java
rm -rf /tmp/tmp$$
```
+The file is created at `~/Desktop/patches.txt`
### Fuzzing
diff --git a/examples/afl_untracer/afl-untracer.c b/examples/afl_untracer/afl-untracer.c
index dc2cd378..68658bfd 100644
--- a/examples/afl_untracer/afl-untracer.c
+++ b/examples/afl_untracer/afl-untracer.c
@@ -74,6 +74,9 @@
// STEP 1:
+/* here you need to specify the parameter for the target function */
+static void *(*o_function)(u8 *buf, int len);
+
/* use stdin (1) or a file on the commandline (0) */
static u32 use_stdin = 1;
@@ -668,13 +671,10 @@ static void sigtrap_handler(int signum, siginfo_t *si, void *context) {
}
-/* here you need to specify the parameter for the target function */
-static void *(*o_function)(u8 *buf, int len);
-
/* the MAIN function */
int main(int argc, char *argv[]) {
- (void) personality(ADDR_NO_RANDOMIZE); // disable ASLR
+ (void)personality(ADDR_NO_RANDOMIZE); // disable ASLR
pid = getpid();
if (getenv("AFL_DEBUG")) debug = 1;
@@ -745,9 +745,10 @@ int main(int argc, char *argv[]) {
}
#ifndef _DEBUG
-inline
+inline
#endif
-static void fuzz() {
+ static void
+ fuzz() {
// STEP 3: call the function to fuzz, also the functions you might
// need to call to prepare the function and - important! -
@@ -762,3 +763,4 @@ static void fuzz() {
// END STEP 3
}
+
diff --git a/llvm_mode/split-compares-pass.so.cc b/llvm_mode/split-compares-pass.so.cc
index 0681fbd6..55128ca2 100644
--- a/llvm_mode/split-compares-pass.so.cc
+++ b/llvm_mode/split-compares-pass.so.cc
@@ -1263,8 +1263,6 @@ bool SplitComparesTransform::runOnModule(Module &M) {
if (enableFPSplit) {
- simplifyFPCompares(M);
-
errs() << "Split-floatingpoint-compare-pass: " << splitFPCompares(M)
<< " FP comparisons splitted\n";
@@ -1274,6 +1272,8 @@ bool SplitComparesTransform::runOnModule(Module &M) {
be_quiet = 1;
+ if (enableFPSplit) simplifyFPCompares(M);
+
simplifyCompares(M);
simplifyIntSignedness(M);