[HarfBuzz] harfbuzz: Branch 'master' - 5 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Mon Sep 24 17:12:45 UTC 2018
.circleci/config.yml | 4 ++--
src/check-static-inits.sh | 4 ++--
src/check-symbols.sh | 2 +-
test/api/Makefile.am | 2 ++
4 files changed, 7 insertions(+), 5 deletions(-)
New commits:
commit aec0d3cbc923a8801c5bd9e9ae05801a31a7260c
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Sep 24 13:12:15 2018 -0400
[ubsan] Re-enable now that it passes locally
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 9721dbb1..66489e87 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -251,7 +251,7 @@ workflows:
- clang-asan
#- clang-msan
- clang-tsan
- #- clang-ubsan
+ - clang-ubsan
- fedora-outoftreebuild
# cmake based builds
commit 4839807340cc73d5ba826dff4b4ba358775a213d
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Sep 24 13:11:34 2018 -0400
[check-static-inits.sh] Allow some if ubsan is in effect
diff --git a/src/check-static-inits.sh b/src/check-static-inits.sh
index 71551cbd..def25c70 100755
--- a/src/check-static-inits.sh
+++ b/src/check-static-inits.sh
@@ -7,7 +7,6 @@ test -z "$srcdir" && srcdir=.
test -z "$libs" && libs=.libs
stat=0
-
if which objdump 2>/dev/null >/dev/null; then
:
else
@@ -31,7 +30,8 @@ done
echo "Checking that no object file has lazy static C++ constructors/destructors or other such stuff"
for obj in $OBJS; do
- if objdump -t "$obj" | grep '__cxa_'; then
+ if objdump -t "$obj" | grep -q '__cxa_' && ! objdump -t "$obj" | grep -q __ubsan_handle; then
+ objdump -t "$obj" | grep '__cxa_'
echo "Ouch, $obj has lazy static C++ constructors/destructors or other such stuff"
stat=1
fi
commit e45ba31dc723988150ef766758fa89fecd50ca03
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Sep 24 13:04:48 2018 -0400
[check-symbols.sh] Allow weak objects "V"
ubsan generates these.
diff --git a/src/check-symbols.sh b/src/check-symbols.sh
index 6e9382b1..cea86848 100755
--- a/src/check-symbols.sh
+++ b/src/check-symbols.sh
@@ -26,7 +26,7 @@ for soname in harfbuzz harfbuzz-subset harfbuzz-icu harfbuzz-gobject; do
symprefix=
if test $suffix = dylib; then symprefix=_; fi
- EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTV] .' | grep -v " $symprefix\\($IGNORED_SYMBOLS\\>\\)" | cut -d' ' -f3 | c++filt`"
+ EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRST] .' | grep -v " $symprefix\\($IGNORED_SYMBOLS\\>\\)" | cut -d' ' -f3 | c++filt`"
prefix=$symprefix`basename "$so" | sed 's/libharfbuzz/hb/; s/-/_/g; s/[.].*//'`
commit d07f3111b4bc38798e16a2459b80a16d7a9f9ff1
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Sep 24 13:01:35 2018 -0400
Link API test programs with C++ linker
Needed to make ubsan work.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1174
diff --git a/test/api/Makefile.am b/test/api/Makefile.am
index a2033449..d92e9669 100644
--- a/test/api/Makefile.am
+++ b/test/api/Makefile.am
@@ -16,6 +16,8 @@ EXTRA_DIST += CMakeLists.txt
EXTRA_DIST += fonts
+LINK = $(CXXLINK)
+
if HAVE_GLIB
AM_CPPFLAGS = -DSRCDIR="\"$(srcdir)\"" -I$(top_srcdir)/src/ -I$(top_builddir)/src/ $(GLIB_CFLAGS)
LDADD = $(top_builddir)/src/libharfbuzz.la $(GLIB_LIBS)
commit a96508cfc9bd9013d24b18547fcd9c03e08fe2f2
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Sep 24 12:52:42 2018 -0400
[msan] Add MSAN_OPTIONS=exitcode=42
Default exit value is 77, which causes autotools to "skip" test.
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 7baebb1c..9721dbb1 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -101,7 +101,7 @@ jobs:
- run: pip install fonttools
- run: CPPFLAGS="-fsanitize=memory" LDFLAGS="-fsanitize=memory" CC=clang-6.0 CXX=clang++-6.0 ./autogen.sh --with-freetype --with-glib --with-cairo --with-icu --with-graphite2
- run: make
- - run: make check || .ci/fail.sh
+ - run: MSAN_OPTIONS=exitcode=42 make check || .ci/fail.sh
clang-tsan:
docker:
More information about the HarfBuzz
mailing list