mirror of
https://github.com/facebook/zstd.git
synced 2025-07-29 11:21:22 +03:00
Provide an interface for fuzzing sequence producer plugins
This commit is contained in:
@ -78,6 +78,7 @@ CFLAGS = os.environ.get('CFLAGS', '-O3')
|
||||
CXXFLAGS = os.environ.get('CXXFLAGS', CFLAGS)
|
||||
LDFLAGS = os.environ.get('LDFLAGS', '')
|
||||
MFLAGS = os.environ.get('MFLAGS', '-j')
|
||||
THIRD_PARTY_SEQ_PROD_OBJ = os.environ.get('THIRD_PARTY_SEQ_PROD_OBJ', '')
|
||||
|
||||
# Fuzzing environment variables
|
||||
LIB_FUZZING_ENGINE = os.environ.get('LIB_FUZZING_ENGINE', 'libregression.a')
|
||||
@ -319,6 +320,12 @@ def build_parser(args):
|
||||
dest='stateful_fuzzing',
|
||||
action='store_true',
|
||||
help='Reuse contexts between runs (makes reproduction impossible)')
|
||||
parser.add_argument(
|
||||
'--custom-seq-prod',
|
||||
dest='third_party_seq_prod_obj',
|
||||
type=str,
|
||||
default=THIRD_PARTY_SEQ_PROD_OBJ,
|
||||
help='Path to an object file with symbols for fuzzing your sequence producer plugin.')
|
||||
parser.add_argument(
|
||||
'--cc',
|
||||
dest='cc',
|
||||
@ -450,6 +457,10 @@ def build(args):
|
||||
if args.stateful_fuzzing:
|
||||
cppflags += ['-DSTATEFUL_FUZZING']
|
||||
|
||||
if args.third_party_seq_prod_obj:
|
||||
cppflags += ['-DFUZZ_THIRD_PARTY_SEQ_PROD']
|
||||
mflags += ['THIRD_PARTY_SEQ_PROD_OBJ={}'.format(args.third_party_seq_prod_obj)]
|
||||
|
||||
if args.fuzzing_mode:
|
||||
cppflags += ['-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION']
|
||||
|
||||
|
Reference in New Issue
Block a user