-1

Autotools Mythbusterをビルド システムとして使用する Linux ライブラリがあります。Makefile.amライブラリのは次のとおりです。

EXTRA_DIST =

EXTRA_SAMPLE_DEFINES =
EXTRA_SAMPLE_INCLUDES =
EXTRA_SAMPLE_LIBS =
EXTRA_SAMPLE_FLAGS =

AM_CFLAGS = \
  -I$(top_srcdir)/include \
  $(EXTRA_SAMPLE_FLAGS)

lib_LTLIBRARIES = libsample.la

libsample_la_LDFLAGS =

libsample_ladir = $(moduledir)

libsample_la_SOURCES = sample.c sample_data.c sample_data.h

libsample_la_LIBADD =

このライブラリの libfuzzer を作成したいので、次のファイルに fuzzer の単純なエントリ ポイント ポイントを作成しましたsampletest.c

int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
  return 0;
}

そしてMakefile.am、私のlibfuzzerを構築するために次のように書きました

EXTRA_DIST =

EXTRA_INCLUDES =
EXTRA_LIBS =
EXTRA_FLAGS = -fsanitize=address,fuzzer

AM_CPPFLAGS = \
  -I$(top_srcdir)/include \
  $(EXTRA_INCLUDES)

bin_PROGRAMS = sampletest

sampletest_SOURCES = sampletest.c

sampletest_LDADD = \
  $(top_builddir)/src/libsample.la $(EXTRA_LIBS)

sampletest_LDFLAGS = $(EXTRA_FLAGS)

しかし、先に進んで と入力makeすると、次のエラーが表示されます。

gcc: error: unrecognized argument to '-fsanitize=' option: 'fuzzer'

に「ファザー」部分を含めない場合、次のように表示Makefile.amされます。

(.text+0x24): undefined reference to メイン」

私は何をすべきか ?

4

0 に答える 0