github.com/comwrg/go/src@v0.0.0-20220319063731-c238d0440370/runtime/libfuzzer.go (about) 1 // Copyright 2019 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build libfuzzer 6 // +build libfuzzer 7 8 package runtime 9 10 import _ "unsafe" // for go:linkname 11 12 func libfuzzerCall(fn *byte, arg0, arg1 uintptr) 13 14 func libfuzzerTraceCmp1(arg0, arg1 uint8) { 15 libfuzzerCall(&__sanitizer_cov_trace_cmp1, uintptr(arg0), uintptr(arg1)) 16 } 17 18 func libfuzzerTraceCmp2(arg0, arg1 uint16) { 19 libfuzzerCall(&__sanitizer_cov_trace_cmp2, uintptr(arg0), uintptr(arg1)) 20 } 21 22 func libfuzzerTraceCmp4(arg0, arg1 uint32) { 23 libfuzzerCall(&__sanitizer_cov_trace_cmp4, uintptr(arg0), uintptr(arg1)) 24 } 25 26 func libfuzzerTraceCmp8(arg0, arg1 uint64) { 27 libfuzzerCall(&__sanitizer_cov_trace_cmp8, uintptr(arg0), uintptr(arg1)) 28 } 29 30 func libfuzzerTraceConstCmp1(arg0, arg1 uint8) { 31 libfuzzerCall(&__sanitizer_cov_trace_const_cmp1, uintptr(arg0), uintptr(arg1)) 32 } 33 34 func libfuzzerTraceConstCmp2(arg0, arg1 uint16) { 35 libfuzzerCall(&__sanitizer_cov_trace_const_cmp2, uintptr(arg0), uintptr(arg1)) 36 } 37 38 func libfuzzerTraceConstCmp4(arg0, arg1 uint32) { 39 libfuzzerCall(&__sanitizer_cov_trace_const_cmp4, uintptr(arg0), uintptr(arg1)) 40 } 41 42 func libfuzzerTraceConstCmp8(arg0, arg1 uint64) { 43 libfuzzerCall(&__sanitizer_cov_trace_const_cmp8, uintptr(arg0), uintptr(arg1)) 44 } 45 46 //go:linkname __sanitizer_cov_trace_cmp1 __sanitizer_cov_trace_cmp1 47 //go:cgo_import_static __sanitizer_cov_trace_cmp1 48 var __sanitizer_cov_trace_cmp1 byte 49 50 //go:linkname __sanitizer_cov_trace_cmp2 __sanitizer_cov_trace_cmp2 51 //go:cgo_import_static __sanitizer_cov_trace_cmp2 52 var __sanitizer_cov_trace_cmp2 byte 53 54 //go:linkname __sanitizer_cov_trace_cmp4 __sanitizer_cov_trace_cmp4 55 //go:cgo_import_static __sanitizer_cov_trace_cmp4 56 var __sanitizer_cov_trace_cmp4 byte 57 58 //go:linkname __sanitizer_cov_trace_cmp8 __sanitizer_cov_trace_cmp8 59 //go:cgo_import_static __sanitizer_cov_trace_cmp8 60 var __sanitizer_cov_trace_cmp8 byte 61 62 //go:linkname __sanitizer_cov_trace_const_cmp1 __sanitizer_cov_trace_const_cmp1 63 //go:cgo_import_static __sanitizer_cov_trace_const_cmp1 64 var __sanitizer_cov_trace_const_cmp1 byte 65 66 //go:linkname __sanitizer_cov_trace_const_cmp2 __sanitizer_cov_trace_const_cmp2 67 //go:cgo_import_static __sanitizer_cov_trace_const_cmp2 68 var __sanitizer_cov_trace_const_cmp2 byte 69 70 //go:linkname __sanitizer_cov_trace_const_cmp4 __sanitizer_cov_trace_const_cmp4 71 //go:cgo_import_static __sanitizer_cov_trace_const_cmp4 72 var __sanitizer_cov_trace_const_cmp4 byte 73 74 //go:linkname __sanitizer_cov_trace_const_cmp8 __sanitizer_cov_trace_const_cmp8 75 //go:cgo_import_static __sanitizer_cov_trace_const_cmp8 76 var __sanitizer_cov_trace_const_cmp8 byte