Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1623538 > unrolled thread
| Started by | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| First post | 2017-04-14 08:20 +0200 |
| Last post | 2017-04-23 09:00 +0200 |
| Articles | 3 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH] kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-04-14 08:20 +0200
Re: [PATCH] kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-04-18 17:40 +0200
Re: [PATCH] kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 Masahiro Yamada <yamada.masahiro@socionext.com> - 2017-04-23 09:00 +0200
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Date | 2017-04-14 08:20 +0200 |
| Subject | [PATCH] kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 |
| Message-ID | <tw2Km-64H-5@gated-at.bofh.it> |
Arnd Bergmann reported:
"When ftrace is enabled and we build with gcc-4.7 or older, we
get a warning for each file on architectures that select
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION:
warning: -ffunction-sections disabled; it makes profiling impossible [enabled by default]
"
Since commit c3f0d0bc5b01 ("kbuild, LLVMLinux: Add -Werror to
cc-option to support clang"), warnings are treated as errors in
cc-option checks. CC_FLAGS_FTRACE is blindly added to KBUILD_CFLAGS,
so $(call cc-option,-ffunction-sections,) should be moved below it
in order to detect the conflict between the two options.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
Makefile | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index efa267a..753e450 100644
--- a/Makefile
+++ b/Makefile
@@ -632,11 +632,6 @@ include arch/$(SRCARCH)/Makefile
KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
-ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
-KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
-KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
-endif
-
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
else
@@ -773,6 +768,11 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
endif
+ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
+KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
+KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
+endif
+
# arch Makefile may override CC so keep this after arch Makefile is included
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
CHECKFLAGS += $(NOSTDINC_FLAGS)
--
2.7.4
[toc] | [next] | [standalone]
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Date | 2017-04-18 17:40 +0200 |
| Subject | Re: [PATCH] kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 |
| Message-ID | <txDou-7Pj-21@gated-at.bofh.it> |
| In reply to | #1623538 |
Hi Arnd,
2017-04-14 15:17 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Arnd Bergmann reported:
> "When ftrace is enabled and we build with gcc-4.7 or older, we
> get a warning for each file on architectures that select
> CONFIG_LD_DEAD_CODE_DATA_ELIMINATION:
>
> warning: -ffunction-sections disabled; it makes profiling impossible [enabled by default]
> "
>
> Since commit c3f0d0bc5b01 ("kbuild, LLVMLinux: Add -Werror to
> cc-option to support clang"), warnings are treated as errors in
> cc-option checks. CC_FLAGS_FTRACE is blindly added to KBUILD_CFLAGS,
> so $(call cc-option,-ffunction-sections,) should be moved below it
> in order to detect the conflict between the two options.
>
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> Makefile | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index efa267a..753e450 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -632,11 +632,6 @@ include arch/$(SRCARCH)/Makefile
> KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
> KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
>
> -ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
> -KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
> -KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
> -endif
> -
> ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
> KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
> else
> @@ -773,6 +768,11 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
> KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
> endif
>
> +ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
> +KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
> +KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
> +endif
> +
> # arch Makefile may override CC so keep this after arch Makefile is included
> NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
> CHECKFLAGS += $(NOSTDINC_FLAGS)
I tested this patch, and confirmed it fixed the issue.
So, I will apply this shortly.
I used the following GCC 4.7 for testing:
https://releases.linaro.org/archive/13.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux.tar.xz
--
Best Regards
Masahiro Yamada
[toc] | [prev] | [next] | [standalone]
| From | Masahiro Yamada <yamada.masahiro@socionext.com> |
|---|---|
| Date | 2017-04-23 09:00 +0200 |
| Subject | Re: [PATCH] kbuild: avoid conflict between -ffunction-sections and -pg on gcc-4.7 |
| Message-ID | <tzjEZ-53L-7@gated-at.bofh.it> |
| In reply to | #1623538 |
2017-04-14 15:17 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Arnd Bergmann reported:
> "When ftrace is enabled and we build with gcc-4.7 or older, we
> get a warning for each file on architectures that select
> CONFIG_LD_DEAD_CODE_DATA_ELIMINATION:
>
> warning: -ffunction-sections disabled; it makes profiling impossible [enabled by default]
> "
>
> Since commit c3f0d0bc5b01 ("kbuild, LLVMLinux: Add -Werror to
> cc-option to support clang"), warnings are treated as errors in
> cc-option checks. CC_FLAGS_FTRACE is blindly added to KBUILD_CFLAGS,
> so $(call cc-option,-ffunction-sections,) should be moved below it
> in order to detect the conflict between the two options.
>
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Applied to linux-kbuild/kbuild.
--
Best Regards
Masahiro Yamada
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web