[HarfBuzz] harfbuzz: Branch 'master'
Behdad Esfahbod
behdad at kemper.freedesktop.org
Wed Nov 18 16:28:06 PST 2015
src/Makefile.am | 16 ++++++++++++++++
test/fuzzing/Makefile.am | 9 ++-------
test/fuzzing/README | 6 ++----
3 files changed, 20 insertions(+), 11 deletions(-)
New commits:
commit ff16ef3379e06afe44b5e78b8893aeae0cee2b5b
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Nov 18 16:27:32 2015 -0800
Enable building a bounded version of the library for fuzzing
test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
diff --git a/src/Makefile.am b/src/Makefile.am
index 5699782..7bcdb5e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -15,6 +15,7 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
# Convenience targets:
lib: $(BUILT_SOURCES) libharfbuzz.la
+fuzzing: $(BUILT_SOURCES) libharfbuzz-fuzzing.la
lib_LTLIBRARIES = libharfbuzz.la
@@ -219,6 +220,21 @@ pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = harfbuzz.pc
EXTRA_DIST += harfbuzz.pc.in
+FUZZING_CPPFLAGS= \
+ -DHB_MAX_NESTING_LEVEL=3 \
+ -DHB_SANITIZE_MAX_EDITS=3 \
+ -DHB_BUFFER_MAX_EXPANSION_FACTOR=3 \
+ -DHB_BUFFER_MAX_LEN_MIN=8 \
+ -DHB_BUFFER_MAX_LEN_DEFAULT=128 \
+ $(NULL)
+EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la
+libharfbuzz_fuzzing_la_LINK = $(libharfbuzz_la_LINK)
+libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES)
+libharfbuzz_fuzzing_la_CPPFLAGS = $(libharfbuzz_la_CPPFLAGS) $(FUZZING_CPPFLAGS)
+libharfbuzz_fuzzing_la_LDFLAGS = $(libharfbuzz_la_LDFLAGS)
+libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD)
+EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES)
+
if HAVE_ICU
lib_LTLIBRARIES += libharfbuzz-icu.la
libharfbuzz_icu_la_SOURCES = hb-icu.cc
diff --git a/test/fuzzing/Makefile.am b/test/fuzzing/Makefile.am
index e5ea3a8..ebdd098 100644
--- a/test/fuzzing/Makefile.am
+++ b/test/fuzzing/Makefile.am
@@ -8,7 +8,7 @@ MAINTAINERCLEANFILES =
# Convenience targets:
lib:
- @$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src lib
+ @$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src fuzzing
EXTRA_DIST += \
README \
@@ -25,7 +25,7 @@ AM_CPPFLAGS = \
-I$(top_builddir)/src/ \
$(NULL)
LDADD = \
- $(top_builddir)/src/libharfbuzz.la \
+ $(top_builddir)/src/libharfbuzz-fuzzing.la \
$(NULL)
hb_fuzzer_SOURCES = \
@@ -37,11 +37,6 @@ hb_fuzzer_LDADD = \
hb_fuzzer_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DMAIN \
- -DHB_MAX_NESTING_LEVEL=3 \
- -DHB_SANITIZE_MAX_EDITS=3 \
- -DHB_BUFFER_MAX_EXPANSION_FACTOR=3 \
- -DHB_BUFFER_MAX_LEN_MIN=8 \
- -DHB_BUFFER_MAX_LEN_DEFAULT=128 \
$(NULL)
-include $(top_srcdir)/git.mk
diff --git a/test/fuzzing/README b/test/fuzzing/README
index 47347db..c858f5d 100644
--- a/test/fuzzing/README
+++ b/test/fuzzing/README
@@ -3,10 +3,8 @@ harfbuzz/test/fuzzing/hb-fuzzer.cc with:
- Using the most recent Clang
- With -fsanitize=address (or =undefined, or a combination)
- With -fsanitize-coverage=edge[,8bit-counters,trace-cmp]
- - With various defines that limit worst case exponential behavior:
- * -DHB_MAX_NESTING_LEVEL=3
- * -DHB_SANITIZE_MAX_EDITS=3
- * See Makefile.am for full list of flags
+ - With various defines that limit worst case exponential behavior.
+ See FUZZING_CPPFLAGS in harfbuzz/src/Makefile.am for the list.
- link against libFuzzer
To run the fuzzer one needs to first obtain a test corpus as a directory
More information about the HarfBuzz
mailing list