Skip to content

Commit 4d7c0f8

Browse files
committed
[sanitizer] Fix symbolizer build script
1 parent 1ecaa61 commit 4d7c0f8

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,20 +86,20 @@ LLVM_BUILD=${BUILD_DIR}/llvm
8686
SYMBOLIZER_BUILD=${BUILD_DIR}/symbolizer
8787

8888
FLAGS=${FLAGS:-}
89-
FLAGS="$FLAGS -fPIC -flto -Os -g0 -DNDEBUG"
89+
FLAGS="$FLAGS -fPIC -flto -Oz -g0 -DNDEBUG"
9090

9191
# Build zlib.
9292
mkdir -p ${ZLIB_BUILD}
9393
cd ${ZLIB_BUILD}
9494
cp -r ${ZLIB_SRC}/* .
95-
CC=$CC CFLAGS="$FLAGS" RANLIB=/bin/true ./configure --static
95+
AR="${AR}" CC="${CC}" CFLAGS="$FLAGS -Wno-deprecated-non-prototype" RANLIB=/bin/true ./configure --static
9696
make -j${J} libz.a
9797

9898
# Build and install libcxxabi and libcxx.
9999
if [[ ! -d ${LIBCXX_BUILD} ]]; then
100100
mkdir -p ${LIBCXX_BUILD}
101101
cd ${LIBCXX_BUILD}
102-
LIBCXX_FLAGS="${FLAGS} -Wno-macro-redefined"
102+
LIBCXX_FLAGS="${FLAGS} -Wno-macro-redefined -Wno-unused-command-line-argument"
103103
cmake -GNinja \
104104
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
105105
-DCMAKE_BUILD_TYPE=Release \
@@ -109,19 +109,19 @@ if [[ ! -d ${LIBCXX_BUILD} ]]; then
109109
-DCMAKE_CXX_FLAGS_RELEASE="${LIBCXX_FLAGS}" \
110110
-DLIBCXXABI_ENABLE_ASSERTIONS=OFF \
111111
-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF \
112-
-DLIBCXXABI_ENABLE_SHARED=OFF \
113112
-DLIBCXX_ENABLE_ASSERTIONS=OFF \
114113
-DLIBCXX_ENABLE_EXCEPTIONS=OFF \
115114
-DLIBCXX_ENABLE_RTTI=OFF \
116-
-DLIBCXX_ENABLE_SHARED=OFF \
115+
-DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld" \
117116
-DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET_TRIPLE}" \
118117
$LLVM_SRC/../runtimes
119118
fi
120119
cd ${LIBCXX_BUILD}
121120
ninja cxx cxxabi
122121

123122
FLAGS="${FLAGS} -fno-rtti -fno-exceptions"
124-
LLVM_FLAGS="${FLAGS} -nostdinc++ -I${ZLIB_BUILD} -isystem ${LIBCXX_BUILD}/include/${TARGET_TRIPLE}/c++/v1 -isystem ${LIBCXX_BUILD}/include/c++/v1 -Wno-error=global-constructors"
123+
LLVM_CFLAGS="${FLAGS} -Wno-global-constructors"
124+
LLVM_CXXFLAGS="${LLVM_CFLAGS} -nostdinc++ -I${ZLIB_BUILD} -isystem ${LIBCXX_BUILD}/include -isystem ${LIBCXX_BUILD}/include/c++/v1"
125125

126126
# Build LLVM.
127127
if [[ ! -d ${LLVM_BUILD} ]]; then
@@ -131,8 +131,9 @@ if [[ ! -d ${LLVM_BUILD} ]]; then
131131
-DCMAKE_BUILD_TYPE=Release \
132132
-DCMAKE_C_COMPILER=$CC \
133133
-DCMAKE_CXX_COMPILER=$CXX \
134-
-DCMAKE_C_FLAGS_RELEASE="${LLVM_FLAGS}" \
135-
-DCMAKE_CXX_FLAGS_RELEASE="${LLVM_FLAGS}" \
134+
-DCMAKE_C_FLAGS_RELEASE="${LLVM_CFLAGS}" \
135+
-DCMAKE_CXX_FLAGS_RELEASE="${LLVM_CXXFLAGS}" \
136+
-DCMAKE_EXE_LINKER_FLAGS="-stdlib=libc++ -fuse-ld=lld -L${LIBCXX_BUILD}/lib" \
136137
-DLLVM_TABLEGEN=$TBLGEN \
137138
-DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET_TRIPLE}" \
138139
-DLLVM_ENABLE_ZLIB=ON \
@@ -149,7 +150,7 @@ mkdir ${SYMBOLIZER_BUILD}
149150
cd ${SYMBOLIZER_BUILD}
150151

151152
echo "Compiling..."
152-
SYMBOLIZER_FLAGS="$LLVM_FLAGS -I${LLVM_SRC}/include -I${LLVM_BUILD}/include -std=c++17"
153+
SYMBOLIZER_FLAGS="$LLVM_CXXFLAGS -I${LLVM_SRC}/include -I${LLVM_BUILD}/include -std=c++17"
153154
$CXX $SYMBOLIZER_FLAGS ${SRC_DIR}/sanitizer_symbolize.cpp ${SRC_DIR}/sanitizer_wrappers.cpp -c
154155
$AR rc symbolizer.a sanitizer_symbolize.o sanitizer_wrappers.o
155156

0 commit comments

Comments
 (0)