fix for laf intel float split not enabled if not not on a tty

This commit is contained in:
van Hauser
2020-07-13 17:57:02 +02:00
parent 6b79e1f76d
commit 4d929f80fb
5 changed files with 15 additions and 10 deletions

View File

@ -32,7 +32,8 @@ if CLANG_FORMAT_BIN is None:
p = subprocess.Popen(["clang-format-10", "--version"], stdout=subprocess.PIPE) p = subprocess.Popen(["clang-format-10", "--version"], stdout=subprocess.PIPE)
o, _ = p.communicate() o, _ = p.communicate()
o = str(o, "utf-8") 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 = o[:o.find(".")]
o = int(o) o = int(o)
except: except:

View File

@ -13,7 +13,8 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- afl-fuzz: - afl-fuzz:
- eliminated CPU affinity race condition for -S/-M runs - eliminated CPU affinity race condition for -S/-M runs
- llvm_mode: - 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: autodictionary mode is a default
- LTO: instrim instrumentation disabled, only classic support used - LTO: instrim instrumentation disabled, only classic support used
as it is always better as it is always better

View File

@ -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 /opt/ghidra/support/analyzeHeadless /tmp/ tmp$$ -import libtestinstr.so -postscript ./ghidra_get_patchpoints.java
rm -rf /tmp/tmp$$ rm -rf /tmp/tmp$$
``` ```
The file is created at `~/Desktop/patches.txt`
### Fuzzing ### Fuzzing

View File

@ -74,6 +74,9 @@
// STEP 1: // 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) */ /* use stdin (1) or a file on the commandline (0) */
static u32 use_stdin = 1; 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 */ /* the MAIN function */
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
(void) personality(ADDR_NO_RANDOMIZE); // disable ASLR (void)personality(ADDR_NO_RANDOMIZE); // disable ASLR
pid = getpid(); pid = getpid();
if (getenv("AFL_DEBUG")) debug = 1; if (getenv("AFL_DEBUG")) debug = 1;
@ -745,9 +745,10 @@ int main(int argc, char *argv[]) {
} }
#ifndef _DEBUG #ifndef _DEBUG
inline inline
#endif #endif
static void fuzz() { static void
fuzz() {
// STEP 3: call the function to fuzz, also the functions you might // STEP 3: call the function to fuzz, also the functions you might
// need to call to prepare the function and - important! - // need to call to prepare the function and - important! -
@ -762,3 +763,4 @@ static void fuzz() {
// END STEP 3 // END STEP 3
} }

View File

@ -1263,8 +1263,6 @@ bool SplitComparesTransform::runOnModule(Module &M) {
if (enableFPSplit) { if (enableFPSplit) {
simplifyFPCompares(M);
errs() << "Split-floatingpoint-compare-pass: " << splitFPCompares(M) errs() << "Split-floatingpoint-compare-pass: " << splitFPCompares(M)
<< " FP comparisons splitted\n"; << " FP comparisons splitted\n";
@ -1274,6 +1272,8 @@ bool SplitComparesTransform::runOnModule(Module &M) {
be_quiet = 1; be_quiet = 1;
if (enableFPSplit) simplifyFPCompares(M);
simplifyCompares(M); simplifyCompares(M);
simplifyIntSignedness(M); simplifyIntSignedness(M);