summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlexander Bulekov <alxndr@bu.edu>2020-05-11 23:01:32 -0400
committerStefan Hajnoczi <stefanha@redhat.com>2020-06-05 09:54:48 +0100
commit3b113229c5d5477d34f54fce0a3e8781090c93b6 (patch)
tree74c89bbbc2bbae6d498159fe645b91cabe5d60ea
parent6851803a467238ed39408e35b5f2063c1370b156 (diff)
downloadfocaccia-qemu-3b113229c5d5477d34f54fce0a3e8781090c93b6.tar.gz
focaccia-qemu-3b113229c5d5477d34f54fce0a3e8781090c93b6.zip
fuzz: add mangled object name to linker script
Previously, we relied on "FuzzerTracePC*(.bss*)" to place libfuzzer's
fuzzer::TPC object into our contiguous shared-memory region. This does
not work for some libfuzzer builds, so this addition identifies the
region by its mangled name: *(.bss._ZN6fuzzer3TPCE);

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-id: 20200512030133.29896-4-alxndr@bu.edu
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r--tests/qtest/fuzz/fork_fuzz.ld5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/qtest/fuzz/fork_fuzz.ld b/tests/qtest/fuzz/fork_fuzz.ld
index e086bba873..bfb667ed06 100644
--- a/tests/qtest/fuzz/fork_fuzz.ld
+++ b/tests/qtest/fuzz/fork_fuzz.ld
@@ -28,6 +28,11 @@ SECTIONS
 
       /* Internal Libfuzzer TracePC object which contains the ValueProfileMap */
       FuzzerTracePC*(.bss*);
+      /*
+       * In case the above line fails, explicitly specify the (mangled) name of
+       * the object we care about
+       */
+       *(.bss._ZN6fuzzer3TPCE);
   }
   .data.fuzz_end : ALIGN(4K)
   {