* [PATCH] arm: omap2: enable smc instruction for sleep34xx @ 2011-03-31 14:19 oskar.andero 2011-04-18 15:51 ` "Anderö, Oskar" 0 siblings, 1 reply; 5+ messages in thread From: oskar.andero @ 2011-03-31 14:19 UTC (permalink / raw) To: linux-omap; +Cc: tony, oskar.andero This fixes broken build when using gcc 4.5. Signed-off-by: Oskar Andero <oskar.andero@sonyericsson.com> --- arch/arm/mach-omap2/Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index a45cd64..512b152 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile @@ -68,7 +68,7 @@ obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o AFLAGS_sleep24xx.o :=-Wa,-march=armv6 -AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a +AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) ifeq ($(CONFIG_PM_VERBOSE),y) CFLAGS_pm_bus.o += -DDEBUG -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* RE: [PATCH] arm: omap2: enable smc instruction for sleep34xx 2011-03-31 14:19 [PATCH] arm: omap2: enable smc instruction for sleep34xx oskar.andero @ 2011-04-18 15:51 ` "Anderö, Oskar" [not found] ` <loom.20110419T100624-335@post.gmane.org> 0 siblings, 1 reply; 5+ messages in thread From: "Anderö, Oskar" @ 2011-04-18 15:51 UTC (permalink / raw) To: linux-omap@vger.kernel.org Cc: tony@atomide.com, 'linux@arm.linux.org.uk', 'linux-kernel@vger.kernel.org', 'linux-arm-kernel@lists.infradead.org' (+ some extra CC's) > Subject: [PATCH] arm: omap2: enable smc instruction for sleep34xx > > This fixes broken build when using gcc 4.5. > > Signed-off-by: Oskar Andero <oskar.andero@sonyericsson.com> > --- > arch/arm/mach-omap2/Makefile | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach- > omap2/Makefile > index a45cd64..512b152 100644 > --- a/arch/arm/mach-omap2/Makefile > +++ b/arch/arm/mach-omap2/Makefile > @@ -68,7 +68,7 @@ obj-$(CONFIG_OMAP_SMARTREFLEX) += > sr_device.o smartreflex.o > obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o > > AFLAGS_sleep24xx.o :=-Wa,-march=armv6 > -AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a > +AFLAGS_sleep34xx.o :=-Wa,-march=armv7- > a$(plus_sec) > > ifeq ($(CONFIG_PM_VERBOSE),y) > CFLAGS_pm_bus.o += -DDEBUG > -- > 1.7.3.4 Ping! Anyone else that gets bitten by the following when compiling omap2plus_defconfig with gcc 4.5: arch/arm/mach-omap2/sleep34xx.S:150: Error: selected processor does not support ARM mode `smc #1' -Oskar ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <loom.20110419T100624-335@post.gmane.org>]
[parent not found: <20110419092014.GA2267@arm.com>]
* RE: [PATCH] arm: omap2: enable smc instruction for sleep34xx [not found] ` <20110419092014.GA2267@arm.com> @ 2011-04-19 10:13 ` "Anderö, Oskar" 2011-04-19 10:28 ` Dave Martin 0 siblings, 1 reply; 5+ messages in thread From: "Anderö, Oskar" @ 2011-04-19 10:13 UTC (permalink / raw) To: 'Dave Martin', Alexander Stevens Cc: linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org > > > Ping! > > > > > > Anyone else that gets bitten by the following when compiling > > omap2plus_defconfig with gcc 4.5: > > > arch/arm/mach-omap2/sleep34xx.S:150: Error: selected processor does > not > > support ARM mode `smc #1' > > > > > > -Oskar > > > > > > > I can report that I get the exact same compile error as this. > > OP patch worked beautifully. > > > > -Alex > > Can you check what options are being passed to the compiler > and the assembler, and check for .arch / .arch_extension directives > in the assembler input? > > i.e., > > make V=1 CFLAGS_KERNEL='-v -save-temps' arch/arm/mach-omap2/sleep34xx.o > > ...and look at the output and the generated sleep34xx.s > > Maybe the options being passed to the compiler/assembler are wrong > somewhere along the line. Yes, the "+sec" extension of armv7-a (i.e. -march=armv7-a+sec) is missing and hence the smc instruction can't be used. This is what my patch fixes. I guess earlier versions of binutils silently ignored this. It's not visible in my patch, but plus_sec is declared as: plus_sec := $(call as-instr,.arch_extension sec,+sec) The following patch added the same extension for some of the other files, but I guess sleep34xx.S was missed or maybe added later: commit fe297dde5ae8f8bf67d3a87759289a99b48ecb2c Author: John Rigby <john.rigby@linaro.org> Date: Wed Dec 1 05:57:51 2010 +0000 OMAP4: enable smc instruction in new assembler versions New assemblers need -march=armv7-a+sec on command line or .arch_extension sec inline to enable use of the smc instruction. <snip> -Oskar ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] arm: omap2: enable smc instruction for sleep34xx 2011-04-19 10:13 ` "Anderö, Oskar" @ 2011-04-19 10:28 ` Dave Martin 2011-04-19 14:41 ` "Anderö, Oskar" 0 siblings, 1 reply; 5+ messages in thread From: Dave Martin @ 2011-04-19 10:28 UTC (permalink / raw) To: Anderö, Oskar Cc: Alexander Stevens, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org On Tue, Apr 19, 2011 at 12:13:26PM +0200, "Anderö, Oskar" wrote: > > > > Ping! > > > > > > > > Anyone else that gets bitten by the following when compiling > > > omap2plus_defconfig with gcc 4.5: > > > > arch/arm/mach-omap2/sleep34xx.S:150: Error: selected processor does > > not > > > support ARM mode `smc #1' > > > > > > > > -Oskar > > > > > > > > > > I can report that I get the exact same compile error as this. > > > OP patch worked beautifully. > > > > > > -Alex > > > > Can you check what options are being passed to the compiler > > and the assembler, and check for .arch / .arch_extension directives > > in the assembler input? > > > > i.e., > > > > make V=1 CFLAGS_KERNEL='-v -save-temps' arch/arm/mach-omap2/sleep34xx.o > > > > ...and look at the output and the generated sleep34xx.s > > > > Maybe the options being passed to the compiler/assembler are wrong > > somewhere along the line. > Yes, the "+sec" extension of armv7-a (i.e. -march=armv7-a+sec) is missing and hence the smc instruction can't be used. This is what my patch fixes. I guess earlier versions of binutils silently ignored this. > > It's not visible in my patch, but plus_sec is declared as: > plus_sec := $(call as-instr,.arch_extension sec,+sec) Ah right, I was slightly confused by the context. You're right -- sleep34xx.S also needs this change in the Makefile, as per your patch. This isn't new; the original patch focused on omap4, so I guess this file was just missed. Cheers ---Dave > > The following patch added the same extension for some of the other files, but I guess sleep34xx.S was missed or maybe added later: > commit fe297dde5ae8f8bf67d3a87759289a99b48ecb2c > Author: John Rigby <john.rigby@linaro.org> > Date: Wed Dec 1 05:57:51 2010 +0000 > > OMAP4: enable smc instruction in new assembler versions > > New assemblers need -march=armv7-a+sec on command line or > .arch_extension sec inline to enable use of the smc instruction. > <snip> > > -Oskar -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [PATCH] arm: omap2: enable smc instruction for sleep34xx 2011-04-19 10:28 ` Dave Martin @ 2011-04-19 14:41 ` "Anderö, Oskar" 0 siblings, 0 replies; 5+ messages in thread From: "Anderö, Oskar" @ 2011-04-19 14:41 UTC (permalink / raw) To: 'Dave Martin' Cc: Alexander Stevens, linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org > On Tue, Apr 19, 2011 at 12:13:26PM +0200, "Anderö, Oskar" wrote: > > > > > Ping! > > > > > > > > > > Anyone else that gets bitten by the following when compiling > > > > omap2plus_defconfig with gcc 4.5: > > > > > arch/arm/mach-omap2/sleep34xx.S:150: Error: selected processor > does > > > not > > > > support ARM mode `smc #1' > > > > > > > > > > -Oskar > > > > > > > > > > > > > I can report that I get the exact same compile error as this. > > > > OP patch worked beautifully. > > > > > > > > -Alex > > > > > > Can you check what options are being passed to the compiler > > > and the assembler, and check for .arch / .arch_extension directives > > > in the assembler input? > > > > > > i.e., > > > > > > make V=1 CFLAGS_KERNEL='-v -save-temps' arch/arm/mach- > omap2/sleep34xx.o > > > > > > ...and look at the output and the generated sleep34xx.s > > > > > > Maybe the options being passed to the compiler/assembler are wrong > > > somewhere along the line. > > Yes, the "+sec" extension of armv7-a (i.e. -march=armv7-a+sec) is > missing and hence the smc instruction can't be used. This is what my > patch fixes. I guess earlier versions of binutils silently ignored this. > > > > It's not visible in my patch, but plus_sec is declared as: > > plus_sec := $(call as-instr,.arch_extension sec,+sec) > > Ah right, I was slightly confused by the context. > > You're right -- sleep34xx.S also needs this change in the Makefile, > as per your patch. This isn't new; the original patch focused on > omap4, so I guess this file was just missed. I will soon resubmit the patch (v2) with a slightly more correct git comment. Please, feel free to review it or ack it. ;) -Oskar -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-04-19 14:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-31 14:19 [PATCH] arm: omap2: enable smc instruction for sleep34xx oskar.andero
2011-04-18 15:51 ` "Anderö, Oskar"
[not found] ` <loom.20110419T100624-335@post.gmane.org>
[not found] ` <20110419092014.GA2267@arm.com>
2011-04-19 10:13 ` "Anderö, Oskar"
2011-04-19 10:28 ` Dave Martin
2011-04-19 14:41 ` "Anderö, Oskar"
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox