mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-16 14:08:45 +00:00
Makefile: add a new script to check -fstack-usage support
If -fstack-usage option is given to crosstools that do not support it, gcc displays a warning message but still exits with status 0. This means we can not rely on $(call cc-option,...) to detect if -fstack-usage option is supported or not. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
This commit is contained in:
parent
ad21fbc118
commit
5b1f1f4aff
2 changed files with 21 additions and 1 deletions
4
Makefile
4
Makefile
|
@ -547,7 +547,9 @@ KBUILD_CFLAGS += -g
|
||||||
KBUILD_AFLAGS += -g
|
KBUILD_AFLAGS += -g
|
||||||
|
|
||||||
# Report stack usage if supported
|
# Report stack usage if supported
|
||||||
KBUILD_CFLAGS += $(call cc-option,-fstack-usage)
|
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-stack-usage.sh $(CC)),y)
|
||||||
|
KBUILD_CFLAGS += -fstack-usage
|
||||||
|
endif
|
||||||
|
|
||||||
KBUILD_CFLAGS += $(call cc-option,-Wno-format-nonliteral)
|
KBUILD_CFLAGS += $(call cc-option,-Wno-format-nonliteral)
|
||||||
|
|
||||||
|
|
18
scripts/gcc-stack-usage.sh
Normal file
18
scripts/gcc-stack-usage.sh
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Test for gcc '-fstack-usage' support
|
||||||
|
# Copyright (C) 2013, Masahiro Yamada <yamada.m@jp.panasonic.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-2.0+
|
||||||
|
#
|
||||||
|
|
||||||
|
TMP="$$"
|
||||||
|
|
||||||
|
cat <<END | $@ -Werror -fstack-usage -x c - -c -o $TMP >/dev/null 2>&1 \
|
||||||
|
&& echo "y"
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
END
|
||||||
|
|
||||||
|
rm -f $TMP $TMP.su
|
Loading…
Add table
Reference in a new issue