Fix TSAN build for fbcode
Summary: TSAN builds for gcc 4.9 need a PIC version of the libraries taken from the fbcode platform. This is accomplished by assuming every .a has a _pic.a sibling, and by fixing the third-party2 zlib build. Test Plan: make COMPILE_WITH_TSAN=1 check Reviewers: sdong, igor Reviewed By: igor Subscribers: dhruba Differential Revision: https://reviews.facebook.net/D50331
This commit is contained in:
parent
fe789c5f2b
commit
c745f1d2c4
6
Makefile
6
Makefile
@ -155,8 +155,10 @@ ifdef COMPILE_WITH_TSAN
|
||||
EXEC_LDFLAGS += -fsanitize=thread -pie
|
||||
PLATFORM_CCFLAGS += -fsanitize=thread -fPIC -DROCKSDB_TSAN_RUN
|
||||
PLATFORM_CXXFLAGS += -fsanitize=thread -fPIC -DROCKSDB_TSAN_RUN
|
||||
# Turn off -pg when enabling TSAN testing, because that induces
|
||||
# a link failure. TODO: find the root cause
|
||||
# Use PIC versions of any precompiled libraries
|
||||
EXEC_LDFLAGS := $(shell echo "$(EXEC_LDFLAGS)" | sed -e 's/[.]a /_pic.a /g')
|
||||
# Turn off -pg when enabling TSAN testing, because that induces
|
||||
# a link failure. TODO: find the root cause
|
||||
pg =
|
||||
else
|
||||
pg = -pg
|
||||
|
@ -30,8 +30,8 @@ CFLAGS+=" -DSNAPPY"
|
||||
|
||||
if test -z $PIC_BUILD; then
|
||||
# location of zlib headers and libraries
|
||||
ZLIB_INCLUDE=" -I /mnt/gvfs/third-party2/zlib/feb983d9667f4cf5e9da07ce75abc824764b67a1/1.2.8/gcc-4.9-glibc-2.20/4230243/include/"
|
||||
ZLIB_LIBS=" /mnt/gvfs/third-party2/zlib/feb983d9667f4cf5e9da07ce75abc824764b67a1/1.2.8/gcc-4.9-glibc-2.20/4230243/lib/libz.a"
|
||||
ZLIB_INCLUDE=" -I /mnt/gvfs/third-party2/zlib/bdbc7c65a775f6b1c6ae43d677b1d380720dba7c/1.2.8/gcc-4.9-glibc-2.20/e9936bf/include/"
|
||||
ZLIB_LIBS=" /mnt/gvfs/third-party2/zlib/bdbc7c65a775f6b1c6ae43d677b1d380720dba7c/1.2.8/gcc-4.9-glibc-2.20/e9936bf/lib/libz.a"
|
||||
CFLAGS+=" -DZLIB"
|
||||
|
||||
# location of bzip headers and libraries
|
||||
|
Loading…
Reference in New Issue
Block a user