mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-18 04:38:08 +00:00
Revert "llvm bug workaround for lto extint"
This reverts commit e3a5c31307
.
This commit is contained in:
@ -49,7 +49,6 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
|
|||||||
CLANG for old afl-clang
|
CLANG for old afl-clang
|
||||||
- fixed a potential crash in the LAF feature
|
- fixed a potential crash in the LAF feature
|
||||||
- workaround for llvm 13
|
- workaround for llvm 13
|
||||||
- workaround for llvm internal lto bug that lets not bitcast from _ExtInt()
|
|
||||||
- qemuafl
|
- qemuafl
|
||||||
- QASan (address sanitizer for Qemu) ported to qemuafl!
|
- QASan (address sanitizer for Qemu) ported to qemuafl!
|
||||||
See qemu_mode/libqasan/README.md
|
See qemu_mode/libqasan/README.md
|
||||||
|
@ -16,7 +16,6 @@ static char *afl_environment_deprecated[] = {
|
|||||||
|
|
||||||
static char *afl_environment_variables[] = {
|
static char *afl_environment_variables[] = {
|
||||||
|
|
||||||
"_AFL_LTO_COMPILE",
|
|
||||||
"AFL_ALIGNED_ALLOC",
|
"AFL_ALIGNED_ALLOC",
|
||||||
"AFL_ALLOW_TMP",
|
"AFL_ALLOW_TMP",
|
||||||
"AFL_ANALYZE_HEX",
|
"AFL_ANALYZE_HEX",
|
||||||
|
@ -114,8 +114,6 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
|
|||||||
IntegerType *Int64Ty = IntegerType::getInt64Ty(C);
|
IntegerType *Int64Ty = IntegerType::getInt64Ty(C);
|
||||||
IntegerType *Int128Ty = IntegerType::getInt128Ty(C);
|
IntegerType *Int128Ty = IntegerType::getInt128Ty(C);
|
||||||
|
|
||||||
char *is_lto = getenv("_AFL_LTO_COMPILE");
|
|
||||||
|
|
||||||
#if LLVM_VERSION_MAJOR < 9
|
#if LLVM_VERSION_MAJOR < 9
|
||||||
Constant *
|
Constant *
|
||||||
#else
|
#else
|
||||||
@ -268,20 +266,10 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
|
|||||||
unsigned int max_size = Val->getType()->getIntegerBitWidth(), cast_size;
|
unsigned int max_size = Val->getType()->getIntegerBitWidth(), cast_size;
|
||||||
unsigned char do_cast = 0;
|
unsigned char do_cast = 0;
|
||||||
|
|
||||||
if (!SI->getNumCases() || max_size < 16) { continue; }
|
if (!SI->getNumCases() || max_size < 16 || max_size % 8) {
|
||||||
|
|
||||||
if (max_size % 8) {
|
// if (!be_quiet) errs() << "skip trivial switch..\n";
|
||||||
|
continue;
|
||||||
if (is_lto) {
|
|
||||||
|
|
||||||
continue; // LTO cannot bitcast from _ExtInt() :(
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
max_size = (((max_size / 8) + 1) * 8);
|
|
||||||
do_cast = 1;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -298,7 +286,6 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_lto) { continue; } // LTO cannot bitcast _ExtInt() :(
|
|
||||||
max_size = 128;
|
max_size = 128;
|
||||||
do_cast = 1;
|
do_cast = 1;
|
||||||
|
|
||||||
@ -315,7 +302,6 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
|
|||||||
cast_size = max_size;
|
cast_size = max_size;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (is_lto) { continue; } // LTO cannot bitcast _ExtInt() :(
|
|
||||||
cast_size = 128;
|
cast_size = 128;
|
||||||
do_cast = 1;
|
do_cast = 1;
|
||||||
|
|
||||||
@ -504,22 +490,7 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!max_size || max_size < 16) { continue; }
|
if (!max_size || max_size % 8 || max_size < 16) { continue; }
|
||||||
|
|
||||||
if (max_size % 8) {
|
|
||||||
|
|
||||||
if (is_lto) {
|
|
||||||
|
|
||||||
continue; // LTO cannot bitcast from _ExtInt() :(
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
max_size = (((max_size / 8) + 1) * 8);
|
|
||||||
do_cast = 1;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (max_size > 128) {
|
if (max_size > 128) {
|
||||||
|
|
||||||
@ -531,7 +502,6 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_lto) { continue; } // LTO cannot bitcast from _ExtInt() :(
|
|
||||||
max_size = 128;
|
max_size = 128;
|
||||||
do_cast = 1;
|
do_cast = 1;
|
||||||
|
|
||||||
@ -548,7 +518,6 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
|
|||||||
cast_size = max_size;
|
cast_size = max_size;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (is_lto) { continue; } // LTO cannot bitcast from _ExtInt() :(
|
|
||||||
cast_size = 128;
|
cast_size = 128;
|
||||||
do_cast = 1;
|
do_cast = 1;
|
||||||
|
|
||||||
|
@ -3917,7 +3917,6 @@ static void internal_malloc_stats(mstate m) {
|
|||||||
\
|
\
|
||||||
} else if (RTCHECK(B == smallbin_at(M, I) || \
|
} else if (RTCHECK(B == smallbin_at(M, I) || \
|
||||||
\
|
\
|
||||||
\
|
|
||||||
(ok_address(M, B) && B->fd == P))) { \
|
(ok_address(M, B) && B->fd == P))) { \
|
||||||
\
|
\
|
||||||
F->bk = B; \
|
F->bk = B; \
|
||||||
@ -4129,7 +4128,6 @@ static void internal_malloc_stats(mstate m) {
|
|||||||
\
|
\
|
||||||
} else \
|
} else \
|
||||||
\
|
\
|
||||||
\
|
|
||||||
CORRUPTION_ERROR_ACTION(M); \
|
CORRUPTION_ERROR_ACTION(M); \
|
||||||
if (R != 0) { \
|
if (R != 0) { \
|
||||||
\
|
\
|
||||||
@ -4146,7 +4144,6 @@ static void internal_malloc_stats(mstate m) {
|
|||||||
\
|
\
|
||||||
} else \
|
} else \
|
||||||
\
|
\
|
||||||
\
|
|
||||||
CORRUPTION_ERROR_ACTION(M); \
|
CORRUPTION_ERROR_ACTION(M); \
|
||||||
\
|
\
|
||||||
} \
|
} \
|
||||||
@ -4159,14 +4156,12 @@ static void internal_malloc_stats(mstate m) {
|
|||||||
\
|
\
|
||||||
} else \
|
} else \
|
||||||
\
|
\
|
||||||
\
|
|
||||||
CORRUPTION_ERROR_ACTION(M); \
|
CORRUPTION_ERROR_ACTION(M); \
|
||||||
\
|
\
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
} else \
|
} else \
|
||||||
\
|
\
|
||||||
\
|
|
||||||
CORRUPTION_ERROR_ACTION(M); \
|
CORRUPTION_ERROR_ACTION(M); \
|
||||||
\
|
\
|
||||||
} \
|
} \
|
||||||
|
@ -1875,8 +1875,6 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
|
|
||||||
edit_params(argc, argv, envp);
|
edit_params(argc, argv, envp);
|
||||||
|
|
||||||
if (lto_mode) { setenv("_AFL_LTO_COMPILE", "1", 1); }
|
|
||||||
|
|
||||||
if (debug) {
|
if (debug) {
|
||||||
|
|
||||||
DEBUGF("cd '%s';", getthecwd());
|
DEBUGF("cd '%s';", getthecwd());
|
||||||
|
@ -1547,7 +1547,6 @@ static u8 cmp_fuzz(afl_state_t *afl, u32 key, u8 *orig_buf, u8 *buf, u8 *cbuf,
|
|||||||
is_n = 1;
|
is_n = 1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (i = 0; i < loggeds; ++i) {
|
for (i = 0; i < loggeds; ++i) {
|
||||||
|
Reference in New Issue
Block a user