mirror of
https://github.com/asterisk/asterisk.git
synced 2026-06-09 03:45:27 +00:00
Compiler fixes for gcc 10
This patch fixes a few compile warnings/errors that now occur when using gcc 10+. Also, the Makefile.rules check to turn off partial inlining in gcc versions greater or equal to 8.2.1 had a bug where it only it only checked against versions with at least 3 numbers (ex: 8.2.1 vs 10). This patch now ensures any version above the specified version is correctly compared. Change-Id: I54718496eb0c3ce5bd6d427cd279a29e8d2825f9
This commit is contained in:
committed by
Friendly Automation
parent
559fa0e89c
commit
3d1bf3c537
@@ -63,6 +63,7 @@ else
|
||||
endif
|
||||
|
||||
OPTIMIZE?=-O3
|
||||
|
||||
ifneq ($(findstring darwin,$(OSARCH)),)
|
||||
ifeq ($(shell if test `/usr/bin/sw_vers -productVersion | cut -c4` -gt 5; then echo 6; else echo 0; fi),6)
|
||||
# Snow Leopard/Lion has an issue with this optimization flag on large files (like chan_sip)
|
||||
@@ -70,15 +71,15 @@ ifneq ($(findstring darwin,$(OSARCH)),)
|
||||
endif
|
||||
endif
|
||||
|
||||
# gcc version 8.2.1 and above must have partial-inlining disabled to avoid documented bug.
|
||||
# We must handle cross-compiling and clang so make sure the compiler version string has "gcc"
|
||||
# somewhere in it before testing the version.
|
||||
CC_VERS_STRING=$(shell $(CC) --version | grep -i gcc)
|
||||
ifneq ($(CC_VERS_STRING),)
|
||||
GCC_VER_GTE821:=$(shell expr `echo '$(CC_VERS_STRING)' | cut -d ' ' -f 3 | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 80201)
|
||||
ifeq ($(GCC_VER_GTE821),1)
|
||||
OPTIMIZE+=-fno-partial-inlining
|
||||
endif
|
||||
ifeq ($(CC),gcc)
|
||||
# gcc version 8.2.1 and above must have partial-inlining disabled in order
|
||||
# to avoid a documented bug. Sort to make the lowest version number come
|
||||
# first. If it's the specified version then the current gcc version is equal
|
||||
# to or greater, so add the custom optimization rule.
|
||||
gcc_versions=$(shell printf "%s\n" $$(gcc -dumpversion) 8.2.1 | sort -n)
|
||||
ifeq ($(firstword $(gcc_versions)),8.2.1)
|
||||
OPTIMIZE+=-fno-partial-inlining
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_CODE_COVERAGE),no)
|
||||
|
||||
Reference in New Issue
Block a user