Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit ed3994a

Browse files
johnhubbardshuahkh
authored andcommitted
selftests/fchmodat2: fix clang build failure due to -static-libasan
gcc requires -static-libasan in order to ensure that Address Sanitizer's library is the first one loaded. However, this leads to build failures on clang, when building via: make LLVM=1 -C tools/testing/selftests However, clang already does the right thing by default: it statically links the Address Sanitizer if -fsanitize is specified. Therefore, simply omit -static-libasan for clang builds. And leave behind a comment, because the whole reason for static linking might not be obvious. Cc: Ryan Roberts <ryan.roberts@arm.com> Signed-off-by: John Hubbard <jhubbard@nvidia.com> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
1 parent 442b15a commit ed3994a

File tree

1 file changed

+10
-1
lines changed
  • tools/testing/selftests/fchmodat2

1 file changed

+10
-1
lines changed
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# SPDX-License-Identifier: GPL-2.0-or-later
22

3-
CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined -static-libasan $(KHDR_INCLUDES)
3+
CFLAGS += -Wall -O2 -g -fsanitize=address -fsanitize=undefined $(KHDR_INCLUDES)
4+
5+
# gcc requires -static-libasan in order to ensure that Address Sanitizer's
6+
# library is the first one loaded. However, clang already statically links the
7+
# Address Sanitizer if -fsanitize is specified. Therefore, simply omit
8+
# -static-libasan for clang builds.
9+
ifeq ($(LLVM),)
10+
CFLAGS += -static-libasan
11+
endif
12+
413
TEST_GEN_PROGS := fchmodat2_test
514

615
include ../lib.mk

0 commit comments

Comments
 (0)