makefile: Force gcc/clang -fcommon to address future gcc -fno-common default

as reported and discussed in #794
This commit is contained in:
Mark Pizzolato 2020-01-29 11:39:36 -08:00
parent 30c182a10c
commit ca4b733883

View file

@ -1136,11 +1136,15 @@ else
ifneq (3,$(GCC_MAJOR_VERSION))
ifeq (,$(GCC_OPTIMIZERS_CMD))
GCC_OPTIMIZERS_CMD = ${GCC} --help=optimizers
GCC_COMMON_CMD = ${GCC} --help=common
endif
endif
ifneq (,$(GCC_OPTIMIZERS_CMD))
GCC_OPTIMIZERS = $(shell $(GCC_OPTIMIZERS_CMD))
endif
ifneq (,$(GCC_COMMON_CMD))
GCC_OPTIMIZERS += $(shell $(GCC_COMMON_CMD))
endif
ifneq (,$(findstring $(GCC_VERSION),$(LTO_EXCLUDE_VERSIONS)))
NO_LTO = 1
endif
@ -1162,6 +1166,9 @@ else
ifneq (,$(findstring -fstrict-overflow,$(GCC_OPTIMIZERS)))
CFLAGS_O += -fno-strict-overflow
endif
ifneq (,$(findstring -fcommon,$(GCC_OPTIMIZERS))$(findstring -fno-common,$(GCC_OPTIMIZERS)))
CFLAGS_O += -fcommon
endif
ifeq (,$(NO_LTO))
ifneq (,$(findstring -flto,$(GCC_OPTIMIZERS)))
CFLAGS_O += -flto -fwhole-program