From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org,
Ralf Baechle <ralf@linux-mips.org>,
linuxppc-dev@ozlabs.org, Steven Rostedt <srostedt@redhat.com>,
Paul Mackerras <paulus@samba.org>, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH 1/3] Makefile: Include arch Makefiles as late as possible
Date: Mon, 16 Feb 2009 17:53:17 +0300 [thread overview]
Message-ID: <20090216145317.GA3616@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <20090216142001.GA27869@oksana.dev.rtsoft.ru>
On Mon, Feb 16, 2009 at 05:20:01PM +0300, Anton Vorontsov wrote:
> On Sat, Feb 14, 2009 at 08:57:02PM +0100, Sam Ravnborg wrote:
> [...]
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -525,8 +525,6 @@ else
> > > > KBUILD_CFLAGS += -O2
> > > > endif
> > > >
> > > > -include $(srctree)/arch/$(SRCARCH)/Makefile
> > > > -
> > > > ifneq (CONFIG_FRAME_WARN,0)
> > > > KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
> > > > endif
> > > > @@ -555,6 +553,8 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
> > > > KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
> > > > endif
> > > >
> > > > +include $(srctree)/arch/$(SRCARCH)/Makefile
> > > > +
> > > > # 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)
> > > > --
> > >
> > > this patch is really for Sam to judge - Cc:-ed him.
> >
> > If we move the include further down then the following:
> >
> > # Force gcc to behave correct even for buggy distributions
> > # Arch Makefiles may override this setting
> > KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
> >
> > will most likely fail.
>
> Hm... I don't get it, the comment says that the arch "may override
> this setting", but currently it may not, since arch makefile is
> included before this line. So my patch also fixes this "bug", no?
>
> Or arches supposed to overwrite "cc-option" behaviour? Hm..
>
> There is an interesting commit:
>
> commit e06b8b98da071f7dd78fb7822991694288047df0
> Author: Sam Ravnborg <sam@ravnborg.org>
> Date: Wed Feb 13 22:43:28 2008 +0100
>
> kbuild: allow -fstack-protector to take effect
> [...]
> --- a/Makefile
> +++ b/Makefile
> @@ -507,6 +507,10 @@ else
> KBUILD_CFLAGS += -O2
> endif
>
> +# Force gcc to behave correct even for buggy distributions
> +# Arch Makefiles may override this setting
> +KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
> +
> include $(srctree)/arch/$(SRCARCH)/Makefile
>
> ifdef CONFIG_FRAME_POINTER
> @@ -525,9 +529,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
> KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
> endif
>
> -# Force gcc to behave correct even for buggy distributions
> -KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
> -
> # 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)
>
>
> ^^ Which does the same (wrt fno-stack-protector) as the patch I
> sent, i.e. includes arch Makefile later.
>
> But then, this commit reverted things back (w/o your Ack):
>
> commit bef5b54bd7bf8117c75cb943d64549134c6d9a1f
> Author: Ralf Baechle <ralf@linux-mips.org>
> Date: Wed Jul 16 13:02:24 2008 +0100
>
> Fix MIPS cross-compile problem
> [...]
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Ok, I think I got it. It seems that Ralf was using this feature
of arch/mips/Makefile:
ifneq ($(SUBARCH),$(ARCH))
ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := $(call cc-cross-prefix, $(tool-archpref)-linux- $(tool-archpref)-linux-gnu- $(tool-archpref)-unknown-linux-gnu-)
endif
endif
There are few arches that have "auto detection" of CROSS_COMPILE
variable: mips, m68k, parisc, xtensa, h8300 and blackfin.
So `normal' arches don't have any chance to overwrite the flags
because of the few offenders above. ;-)
> [...]
> --- a/Makefile
> +++ b/Makefile
> @@ -508,6 +508,8 @@ else
> KBUILD_CFLAGS += -O2
> endif
>
> +include $(srctree)/arch/$(SRCARCH)/Makefile
> +
> ifneq (CONFIG_FRAME_WARN,0)
> KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
> endif
> @@ -516,8 +518,6 @@ endif
> # Arch Makefiles may override this setting
> KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
>
> -include $(srctree)/arch/$(SRCARCH)/Makefile
> -
> ifdef CONFIG_FRAME_POINTER
> KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
> else
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
WARNING: multiple messages have this Message-ID (diff)
From: Anton Vorontsov <avorontsov@ru.mvista.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Ingo Molnar <mingo@elte.hu>, Steven Rostedt <srostedt@redhat.com>,
Paul Mackerras <paulus@samba.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org,
linux-rt-users@vger.kernel.org,
Ralf Baechle <ralf@linux-mips.org>
Subject: Re: [PATCH 1/3] Makefile: Include arch Makefiles as late as possible
Date: Mon, 16 Feb 2009 17:53:17 +0300 [thread overview]
Message-ID: <20090216145317.GA3616@oksana.dev.rtsoft.ru> (raw)
In-Reply-To: <20090216142001.GA27869@oksana.dev.rtsoft.ru>
On Mon, Feb 16, 2009 at 05:20:01PM +0300, Anton Vorontsov wrote:
> On Sat, Feb 14, 2009 at 08:57:02PM +0100, Sam Ravnborg wrote:
> [...]
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -525,8 +525,6 @@ else
> > > > KBUILD_CFLAGS += -O2
> > > > endif
> > > >
> > > > -include $(srctree)/arch/$(SRCARCH)/Makefile
> > > > -
> > > > ifneq (CONFIG_FRAME_WARN,0)
> > > > KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
> > > > endif
> > > > @@ -555,6 +553,8 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
> > > > KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
> > > > endif
> > > >
> > > > +include $(srctree)/arch/$(SRCARCH)/Makefile
> > > > +
> > > > # 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)
> > > > --
> > >
> > > this patch is really for Sam to judge - Cc:-ed him.
> >
> > If we move the include further down then the following:
> >
> > # Force gcc to behave correct even for buggy distributions
> > # Arch Makefiles may override this setting
> > KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
> >
> > will most likely fail.
>
> Hm... I don't get it, the comment says that the arch "may override
> this setting", but currently it may not, since arch makefile is
> included before this line. So my patch also fixes this "bug", no?
>
> Or arches supposed to overwrite "cc-option" behaviour? Hm..
>
> There is an interesting commit:
>
> commit e06b8b98da071f7dd78fb7822991694288047df0
> Author: Sam Ravnborg <sam@ravnborg.org>
> Date: Wed Feb 13 22:43:28 2008 +0100
>
> kbuild: allow -fstack-protector to take effect
> [...]
> --- a/Makefile
> +++ b/Makefile
> @@ -507,6 +507,10 @@ else
> KBUILD_CFLAGS += -O2
> endif
>
> +# Force gcc to behave correct even for buggy distributions
> +# Arch Makefiles may override this setting
> +KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
> +
> include $(srctree)/arch/$(SRCARCH)/Makefile
>
> ifdef CONFIG_FRAME_POINTER
> @@ -525,9 +529,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
> KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
> endif
>
> -# Force gcc to behave correct even for buggy distributions
> -KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
> -
> # 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)
>
>
> ^^ Which does the same (wrt fno-stack-protector) as the patch I
> sent, i.e. includes arch Makefile later.
>
> But then, this commit reverted things back (w/o your Ack):
>
> commit bef5b54bd7bf8117c75cb943d64549134c6d9a1f
> Author: Ralf Baechle <ralf@linux-mips.org>
> Date: Wed Jul 16 13:02:24 2008 +0100
>
> Fix MIPS cross-compile problem
> [...]
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Ok, I think I got it. It seems that Ralf was using this feature
of arch/mips/Makefile:
ifneq ($(SUBARCH),$(ARCH))
ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := $(call cc-cross-prefix, $(tool-archpref)-linux- $(tool-archpref)-linux-gnu- $(tool-archpref)-unknown-linux-gnu-)
endif
endif
There are few arches that have "auto detection" of CROSS_COMPILE
variable: mips, m68k, parisc, xtensa, h8300 and blackfin.
So `normal' arches don't have any chance to overwrite the flags
because of the few offenders above. ;-)
> [...]
> --- a/Makefile
> +++ b/Makefile
> @@ -508,6 +508,8 @@ else
> KBUILD_CFLAGS += -O2
> endif
>
> +include $(srctree)/arch/$(SRCARCH)/Makefile
> +
> ifneq (CONFIG_FRAME_WARN,0)
> KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
> endif
> @@ -516,8 +518,6 @@ endif
> # Arch Makefiles may override this setting
> KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
>
> -include $(srctree)/arch/$(SRCARCH)/Makefile
> -
> ifdef CONFIG_FRAME_POINTER
> KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
> else
--
Anton Vorontsov
email: cbouatmailru@gmail.com
irc://irc.freenode.net/bd2
next prev parent reply other threads:[~2009-02-16 14:53 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-31 19:06 [PATCH] ftrace: On PowerPC we don't need frame pointers for CALLER_ADDRs Anton Vorontsov
2009-01-31 19:06 ` Anton Vorontsov
2009-02-02 0:35 ` Benjamin Herrenschmidt
2009-02-02 0:35 ` Benjamin Herrenschmidt
2009-02-02 14:04 ` Steven Rostedt
2009-02-02 14:04 ` Steven Rostedt
2009-02-03 14:56 ` [PATCH v2] " Anton Vorontsov
2009-02-03 14:56 ` Anton Vorontsov
2009-02-03 16:06 ` Ingo Molnar
2009-02-03 16:06 ` Ingo Molnar
2009-02-03 16:19 ` Anton Vorontsov
2009-02-03 16:19 ` Anton Vorontsov
2009-02-03 16:32 ` Steven Rostedt
2009-02-03 16:32 ` Steven Rostedt
2009-02-03 18:59 ` Anton Vorontsov
2009-02-03 18:59 ` Anton Vorontsov
2009-02-04 0:34 ` Benjamin Herrenschmidt
2009-02-04 0:34 ` Benjamin Herrenschmidt
2009-02-04 15:07 ` Anton Vorontsov
2009-02-04 15:07 ` Anton Vorontsov
2009-02-04 15:08 ` [PATCH 1/3] Makefile: Include arch Makefiles as late as possible Anton Vorontsov
2009-02-04 15:08 ` Anton Vorontsov
2009-02-04 15:08 ` Anton Vorontsov
2009-02-04 21:26 ` Ingo Molnar
2009-02-04 21:26 ` Ingo Molnar
2009-02-04 21:26 ` Ingo Molnar
2009-02-04 21:26 ` Ingo Molnar
2009-02-04 21:26 ` Ingo Molnar
2009-02-11 3:51 ` Benjamin Herrenschmidt
2009-02-11 3:51 ` Benjamin Herrenschmidt
2009-02-11 3:51 ` Benjamin Herrenschmidt
2009-02-11 3:51 ` Benjamin Herrenschmidt
2009-02-11 13:23 ` Ingo Molnar
2009-02-11 13:23 ` Ingo Molnar
2009-02-11 14:11 ` Steven Rostedt
2009-02-11 14:11 ` Steven Rostedt
2009-02-11 14:11 ` Steven Rostedt
2009-02-11 14:11 ` Steven Rostedt
2009-02-11 14:11 ` Steven Rostedt
2009-02-14 19:58 ` Sam Ravnborg
2009-02-14 19:58 ` Sam Ravnborg
2009-02-11 3:51 ` Benjamin Herrenschmidt
2009-02-14 19:57 ` Sam Ravnborg
2009-02-14 19:57 ` Sam Ravnborg
2009-02-14 22:03 ` Ingo Molnar
2009-02-14 22:03 ` Ingo Molnar
2009-02-15 0:19 ` Benjamin Herrenschmidt
2009-02-15 0:19 ` Benjamin Herrenschmidt
2009-02-15 0:19 ` Benjamin Herrenschmidt
2009-02-15 0:19 ` Benjamin Herrenschmidt
2009-02-15 0:19 ` Benjamin Herrenschmidt
2009-02-15 8:09 ` Ingo Molnar
2009-02-15 8:09 ` Ingo Molnar
2009-02-16 14:20 ` Anton Vorontsov
2009-02-16 14:20 ` Anton Vorontsov
2009-02-16 14:20 ` Anton Vorontsov
2009-02-16 14:53 ` Anton Vorontsov [this message]
2009-02-16 14:53 ` Anton Vorontsov
2009-02-16 20:04 ` Sam Ravnborg
2009-02-16 20:04 ` Sam Ravnborg
2009-02-16 16:08 ` Anton Vorontsov
2009-02-16 16:08 ` Anton Vorontsov
2009-02-16 17:22 ` Ingo Molnar
2009-02-16 17:22 ` Ingo Molnar
2009-02-04 15:08 ` [PATCH 2/3] powerpc: Make it possible to safely select CONFIG_FRAME_POINTER Anton Vorontsov
2009-02-04 15:08 ` Anton Vorontsov
2009-02-05 0:31 ` Benjamin Herrenschmidt
2009-02-05 0:31 ` Benjamin Herrenschmidt
2009-02-05 0:31 ` Benjamin Herrenschmidt
2009-02-05 0:31 ` Benjamin Herrenschmidt
2009-02-05 0:35 ` Steven Rostedt
2009-02-05 0:35 ` Steven Rostedt
2009-02-05 1:12 ` Anton Vorontsov
2009-02-05 1:12 ` Anton Vorontsov
2009-02-05 1:15 ` Benjamin Herrenschmidt
2009-02-05 1:15 ` Benjamin Herrenschmidt
2009-02-05 1:15 ` Benjamin Herrenschmidt
2009-02-05 1:15 ` Benjamin Herrenschmidt
2009-02-05 1:15 ` Benjamin Herrenschmidt
2009-02-05 1:15 ` Benjamin Herrenschmidt
2009-02-05 1:30 ` Anton Vorontsov
2009-02-05 1:30 ` Anton Vorontsov
2009-02-05 15:45 ` Anton Vorontsov
2009-02-05 15:45 ` Anton Vorontsov
2009-02-05 0:31 ` Benjamin Herrenschmidt
2009-02-04 15:08 ` [PATCH 3/3] tracing: Tracers that use CALLER_ADDR macros should select FRAME_POINTER Anton Vorontsov
2009-02-04 15:08 ` Anton Vorontsov
2009-02-04 15:26 ` Frédéric Weisbecker
2009-02-04 15:26 ` Frédéric Weisbecker
2009-02-04 15:26 ` Frédéric Weisbecker
2009-02-04 15:31 ` Steven Rostedt
2009-02-04 15:31 ` Steven Rostedt
2009-02-04 15:31 ` Steven Rostedt
2009-02-04 15:31 ` Steven Rostedt
2009-02-04 15:31 ` Steven Rostedt
2009-02-04 15:31 ` Steven Rostedt
2009-02-04 15:36 ` Anton Vorontsov
2009-02-04 15:36 ` Anton Vorontsov
2009-02-04 15:36 ` Anton Vorontsov
2009-02-04 16:50 ` Frédéric Weisbecker
2009-02-04 16:50 ` Frédéric Weisbecker
2009-02-04 16:50 ` Frédéric Weisbecker
2009-02-04 8:17 ` [PATCH v2] ftrace: On PowerPC we don't need frame pointers forCALLER_ADDRs Usha Rani Konudula
2009-02-04 8:17 ` Usha Rani Konudula
2009-02-04 8:37 ` Usha Rani Konudula
2009-02-04 8:37 ` Usha Rani Konudula
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090216145317.GA3616@oksana.dev.rtsoft.ru \
--to=avorontsov@ru.mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=ralf@linux-mips.org \
--cc=sam@ravnborg.org \
--cc=srostedt@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.