about summary refs log tree commit diff
path: root/llvm_mode
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-05-22 20:59:32 +0200
committervan Hauser <vh@thc.org>2020-05-22 20:59:32 +0200
commit38fe1c60666d9e8cb3d7b825e5a926111b2160d5 (patch)
treecd6fd9bef181c3d0b235f6145fec7457a6fe2660 /llvm_mode
parent74f01881e36e45005ed2080e351323367532ee01 (diff)
downloadafl++-38fe1c60666d9e8cb3d7b825e5a926111b2160d5.tar.gz
more help for LTO issues
Diffstat (limited to 'llvm_mode')
-rw-r--r--llvm_mode/README.lto.md11
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm_mode/README.lto.md b/llvm_mode/README.lto.md
index fa5b8665..88b1517d 100644
--- a/llvm_mode/README.lto.md
+++ b/llvm_mode/README.lto.md
@@ -6,8 +6,6 @@ This version requires a current llvm 11 compiled from the github master.
 
 1. Use afl-clang-lto/afl-clang-lto++ because it is faster and gives better
    coverage than anything else that is out there in the AFL world
-  1a. Set AFL_LLVM_INSTRUMENT=CFG if you want the InsTrimLTO version
-      (recommended)
 
 2. You can use it together with llvm_mode: laf-intel and whitelisting
    features and can be combined with cmplog/Redqueen
@@ -20,6 +18,8 @@ This version requires a current llvm 11 compiled from the github master.
    note that if that target uses _init functions or early constructors then
    also set `AFL_LLVM_MAP_DYNAMIC=1` as your target will crash otherwise
 
+6. If you get the error `error: Invalid record` at link time you must decide
+   between LTO or cmplog/laf-intel
 
 ## Introduction and problem description
 
@@ -134,6 +134,13 @@ and on some target you have to to AR=/RANLIB= even for make as the configure scr
 Other targets ignore environment variables and need the parameters set via
 `./configure --cc=... --cxx= --ranlib= ...` etc. (I am looking at you ffmpeg!).
 
+### error: Invalid record
+
+This error only occurs if cmplog or laf-intel were activated.
+If you see the error `error: Invalid record` at link time then an
+instrumentation went wrong. You now must choose, either use afl-clang-fast
+and keep cmplog/laf-intel, or drop cmplog/laf-intel and keep using afl-clang-lto.
+
 ### compiling programs still fail
 
 afl-clang-lto is still work in progress.