Also already mentioned in ba4338d6f7,
the security feature FORTIFY_SOURCE could be set globally.
The current approach tries to undefine and redefine it, however,
the order on the command line prevents this from being successfully, e.g.:
arm-openwrt-linux-muslgnueabi-gcc ... -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 ... -D_FORTIFY_SOURCE=1 ...
`---------------v-------------------' `--------v--------'
AM_CFLAGS OpenWrt params
So to have the original source (static) _FORTIFY_SOURCE=2 define,
the only option is to remove it from AM_CFLAGS completely, and
to pass it after the OpenWrt settings explicitely in the Makefile.
This should fix the buildbots finally.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Now that security features are set globally, having the
FORTIFY_SOURCE option set in Makefile breaks the build when
CONFIG_PKG_FORTIFY_SOURCE_{1,2} is enabled as well.
arm-openwrt-linux-uclibcgnueabi-gcc -Wall -Werror -Wuninitialized -Wundef -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -Os -pipe -march=armv6k -mtune=mpcore -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -mfloat-abi=soft -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -Wp,-MMD,./.mmc.o.d,-MT,mmc.o -c mmc.c -o mmc.o
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<command-line>:0:0: note: this is the location of the previous definition
cc1: all warnings being treated as errors
Makefile:35: recipe for target 'mmc.o' failed
Fix this by removing -D_FORTIFY_SOURCE=2 from Makefile.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Michael Heimpold <mhei@heimpold.de>