mirror of
https://github.com/xcat2/xNBA.git
synced 2024-11-26 11:19:17 +00:00
[build] Avoid using -ffunction-sections on some older versions of gcc
Some older versions of gcc issue a warning if -ffunction-sections is used in combination with -g (gcc bug #18553). Inhibit -ffunction-sections when building with such a version of gcc. Reported-by: zhengwei <zw111_2001@126.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
00afad8122
commit
95d82bb2a2
@ -450,14 +450,20 @@ endif
|
||||
|
||||
# Enable per-item sections and section garbage collection. Note that
|
||||
# some older versions of gcc support -fdata-sections but treat it as
|
||||
# implying -fno-common, which would break our build.
|
||||
# implying -fno-common, which would break our build. Some other older
|
||||
# versions issue a spurious and uninhibitable warning if
|
||||
# -ffunction-sections is used with -g, which would also break our
|
||||
# build since we use -Werror.
|
||||
#
|
||||
ifeq ($(CCTYPE),gcc)
|
||||
DS_TEST = $(ECHO) 'char x;' | \
|
||||
$(CC) -fdata-sections -S -x c - -o - 2>/dev/null | \
|
||||
grep -E '\.comm' > /dev/null
|
||||
DS_FLAGS := $(shell $(DS_TEST) && $(ECHO) '-fdata-sections')
|
||||
CFLAGS += -ffunction-sections $(DS_FLAGS)
|
||||
FS_TEST = $(CC) -ffunction-sections -g -c -x c /dev/null \
|
||||
-o /dev/null 2>/dev/null
|
||||
FS_FLAGS := $(shell $(FS_TEST) && $(ECHO) '-ffunction-sections')
|
||||
CFLAGS += $(FS_FLAGS) $(DS_FLAGS)
|
||||
endif
|
||||
LDFLAGS += --gc-sections
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user