common.mk: update from platform2
- e6588e5542d0813544a5910f935e231e2cf1cdd3 common-mk: check support for -Wxor-used-as-pow by Daniel Verkamp <dverkamp@chromium.org>
- 9bcf2ab83ae46f7e190045091c730ccafb26f23b common-mk: Use -Bsymbolic-non-weak iff supported by Pierre-Clément Tosi <ptosi@google.com>
- 09d3c04e01e1ca149c04b98ee31b827ec3a11dd8 common-mk: Replace -Wl,* args with -z or -Xlinker by Pierre-Clément Tosi <ptosi@google.com>
- f4b5abc664a3961fd343ecd73b105455f745a6b1 common-mk: -fvisibility-inlines-hidden as CXXFLAGS by Pierre-Clément Tosi <ptosi@google.com>
GitOrigin-RevId: e6588e5542d0813544a5910f935e231e2cf1cdd3
Change-Id: I8f21a4228b21582667c59e396b1d474e6ef6b559
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/sis-updater/+/6447712
Reviewed-by: Niko Tsirakis <ntsirakis@google.com>
Auto-Submit: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Niko Tsirakis <ntsirakis@google.com>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/common.mk b/common.mk
index 7c2a904..03e886c 100644
--- a/common.mk
+++ b/common.mk
@@ -319,11 +319,12 @@
# symbol resolution overhead. Therefore, pass -fvisibility-inlines-hidden in
# addition to -fvisibility=hidden. (go/cros-symbol-slimming)
COMMON_CFLAGS := -Wall -Wunused -Wno-unused-parameter -Wunreachable-code \
- -Wbool-operation -Wstring-compare -Wxor-used-as-pow \
+ -Wbool-operation -Wstring-compare $(call check_cc,-Wxor-used-as-pow) \
-Wint-in-bool-context -Wfree-nonheap-object \
- -Werror -Wformat=2 -fno-strict-aliasing -fvisibility-inlines-hidden \
+ -Werror -Wformat=2 -fno-strict-aliasing \
$(SSP_CFLAGS) -O1
-CXXFLAGS += $(COMMON_CFLAGS) $(COMMON_CFLAGS-$(CXXDRIVER)) -std=gnu++20
+CXXFLAGS += $(COMMON_CFLAGS) $(COMMON_CFLAGS-$(CXXDRIVER)) -std=gnu++20 \
+ -fvisibility-inlines-hidden
CFLAGS += $(COMMON_CFLAGS) $(COMMON_CFLAGS-$(CDRIVER)) -std=gnu17
# We undefine _FORTIFY_SOURCE because some distros enable it by default in
# their toolchains. This makes the compiler issue warnings about redefines
@@ -360,8 +361,11 @@
# Pass -Bsymbolic-non-weak which pre-binds symbols in the same DSO to improve
# startup performance. We don't support interposing non-weak symbols.
# (go/cros-symbol-slimming)
-LDFLAGS := $(LDFLAGS) -Wl,-z,relro -Wl,-z,noexecstack -Wl,-z,now \
- -Wl,-Bsymbolic-non-weak
+LDFLAGS := $(LDFLAGS) \
+ -z relro \
+ -z noexecstack \
+ -z now \
+ $(call check_cc,-Xlinker -Bsymbolic-non-weak)
# Fancy helpers for color if a prompt is defined
ifeq ($(COLOR),1)