Build breakage with omap2plus_defconfig

8 messages, 3 authors, 2011-01-07 · open the first message on its own page

Build breakage with omap2plus_defconfig

From: Felipe Balbi <hidden>
Date: 2011-01-07 12:38:59

Hi all,

Today's Linus' tree (01539ba2a706ab7d35fc0667dff919ade7f87d63) fails to
build with omap2plus_defconfig:

$ crossmake
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/kernel/swp_emulate.o
/tmp/cc2V7p5j.s: Assembler messages:
/tmp/cc2V7p5j.s:161: Error: selected processor does not support ARM mode `ldrexb r3,[r4]'
/tmp/cc2V7p5j.s:162: Error: selected processor does not support ARM mode `strexb r0,r2,[r4]'
make[1]: *** [arch/arm/kernel/swp_emulate.o] Error 1
make: *** [arch/arm/kernel] Error 2

Compiler is:

$ arm-linux-gcc --version
arm-linux-gcc (Sourcery G++ Lite 2010q1-202) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I'm downloading Sourcery G++ Lite 2010.09-50 for ARM GNU/Linux to check
if it's not a bug on the compiler.

-- 
balbi

Build breakage with omap2plus_defconfig

From: Felipe Balbi <hidden>
Date: 2011-01-07 12:44:45

Hi,

On Fri, Jan 07, 2011 at 02:38:59PM +0200, Felipe Balbi wrote:
Today's Linus' tree (01539ba2a706ab7d35fc0667dff919ade7f87d63) fails to
build with omap2plus_defconfig:

$ crossmake
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/kernel/swp_emulate.o
/tmp/cc2V7p5j.s: Assembler messages:
/tmp/cc2V7p5j.s:161: Error: selected processor does not support ARM mode `ldrexb r3,[r4]'
/tmp/cc2V7p5j.s:162: Error: selected processor does not support ARM mode `strexb r0,r2,[r4]'
make[1]: *** [arch/arm/kernel/swp_emulate.o] Error 1
make: *** [arch/arm/kernel] Error 2

Compiler is:

$ arm-linux-gcc --version
arm-linux-gcc (Sourcery G++ Lite 2010q1-202) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I'm downloading Sourcery G++ Lite 2010.09-50 for ARM GNU/Linux to check
if it's not a bug on the compiler.
Just tested with newer compiler and it also fails to compile.

$ arm-linux-gcc --version
arm-linux-gcc (Sourcery G++ Lite 2010.09-50) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-- 
balbi

Build breakage with omap2plus_defconfig

From: Santosh Shilimkar <hidden>
Date: 2011-01-07 12:48:51

-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap-
owner at vger.kernel.org] On Behalf Of Felipe Balbi
Sent: Friday, January 07, 2011 6:09 PM
To: Russell King; Tony Lindgren
Cc: Linux OMAP Mailing List; Linux ARM Kernel Mailing List
Subject: Build breakage with omap2plus_defconfig

Hi all,

Today's Linus' tree (01539ba2a706ab7d35fc0667dff919ade7f87d63) fails
to
build with omap2plus_defconfig:

$ crossmake
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/kernel/swp_emulate.o
/tmp/cc2V7p5j.s: Assembler messages:
/tmp/cc2V7p5j.s:161: Error: selected processor does not support ARM
mode `ldrexb r3,[r4]'
/tmp/cc2V7p5j.s:162: Error: selected processor does not support ARM
mode `strexb r0,r2,[r4]'
Well it's not toolchain issue but the omap2plus_defconfig which
selects ARMv6 and ARMV7 together.

If you remove ARCH_OMAP2 from build, it will go through.
make[1]: *** [arch/arm/kernel/swp_emulate.o] Error 1
make: *** [arch/arm/kernel] Error 2

Compiler is:

$ arm-linux-gcc --version
arm-linux-gcc (Sourcery G++ Lite 2010q1-202) 4.4.1
Copyright (C) 2009 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

I'm downloading Sourcery G++ Lite 2010.09-50 for ARM GNU/Linux to
check
if it's not a bug on the compiler.
Santosh

Build breakage with omap2plus_defconfig

From: Anand Gadiyar <hidden>
Date: 2011-01-07 12:50:43

Felipe Balbi wrote:
Hi all,

Today's Linus' tree
(01539ba2a706ab7d35fc0667dff919ade7f87d63) fails to
build with omap2plus_defconfig:

$ crossmake
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/kernel/swp_emulate.o
/tmp/cc2V7p5j.s: Assembler messages:
/tmp/cc2V7p5j.s:161: Error: selected processor does not support ARM mode
`ldrexb r3,[r4]'
/tmp/cc2V7p5j.s:162: Error: selected processor does not support ARM mode
`strexb r0,r2,[r4]'
make[1]: *** [arch/arm/kernel/swp_emulate.o] Error 1
make: *** [arch/arm/kernel] Error 2
I haven't found a way around this other than to turn off
CONFIG_SWP_EMULATE. Here's a patch doing that [1].

The discussion thread is here [2].

- Anand

[1] http://marc.info/?l=linux-omap&m=129140165126953&w=2
[2] http://marc.info/?t=128748412500003&r=1&w=2

Build breakage with omap2plus_defconfig

From: Felipe Balbi <hidden>
Date: 2011-01-07 12:57:19

On Fri, Jan 07, 2011 at 06:20:43PM +0530, Anand Gadiyar wrote:
Felipe Balbi wrote:
quoted
Hi all,

Today's Linus' tree
(01539ba2a706ab7d35fc0667dff919ade7f87d63) fails to
build with omap2plus_defconfig:

$ crossmake
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/kernel/swp_emulate.o
/tmp/cc2V7p5j.s: Assembler messages:
/tmp/cc2V7p5j.s:161: Error: selected processor does not support ARM mode
`ldrexb r3,[r4]'
quoted
/tmp/cc2V7p5j.s:162: Error: selected processor does not support ARM mode
`strexb r0,r2,[r4]'
quoted
make[1]: *** [arch/arm/kernel/swp_emulate.o] Error 1
make: *** [arch/arm/kernel] Error 2
I haven't found a way around this other than to turn off
CONFIG_SWP_EMULATE. Here's a patch doing that [1].

The discussion thread is here [2].
Thanks a lot Anand :-)

-- 
balbi

Build breakage with omap2plus_defconfig

From: Felipe Balbi <hidden>
Date: 2011-01-07 12:59:30

On Fri, Jan 07, 2011 at 06:18:51PM +0530, Santosh Shilimkar wrote:
quoted
-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap-
owner at vger.kernel.org] On Behalf Of Felipe Balbi
Sent: Friday, January 07, 2011 6:09 PM
To: Russell King; Tony Lindgren
Cc: Linux OMAP Mailing List; Linux ARM Kernel Mailing List
Subject: Build breakage with omap2plus_defconfig

Hi all,

Today's Linus' tree (01539ba2a706ab7d35fc0667dff919ade7f87d63) fails
to
build with omap2plus_defconfig:

$ crossmake
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/kernel/swp_emulate.o
/tmp/cc2V7p5j.s: Assembler messages:
/tmp/cc2V7p5j.s:161: Error: selected processor does not support ARM
mode `ldrexb r3,[r4]'
/tmp/cc2V7p5j.s:162: Error: selected processor does not support ARM
mode `strexb r0,r2,[r4]'
Well it's not toolchain issue but the omap2plus_defconfig which
selects ARMv6 and ARMV7 together.

If you remove ARCH_OMAP2 from build, it will go through.
I like Catalin's approach:
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 49db8b3..0fe2389 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -644,7 +644,7 @@ config ARM_THUMBEE
 
 config SWP_EMULATE
        bool "Emulate SWP/SWPB instructions"
-       depends on CPU_V7
+       depends on CPU_V7 && !CPU_V6
        select HAVE_PROC_CPU if PROC_FS
        default y if SMP
        help
Simple.

-- 
balbi

Build breakage with omap2plus_defconfig

From: Santosh Shilimkar <hidden>
Date: 2011-01-07 13:05:39

quoted hunk
-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap-
owner at vger.kernel.org] On Behalf Of Felipe Balbi
Sent: Friday, January 07, 2011 6:30 PM
To: Santosh Shilimkar
Cc: balbi at ti.com; Russell King; Tony Lindgren; Linux OMAP Mailing
List; Linux ARM Kernel Mailing List
Subject: Re: Build breakage with omap2plus_defconfig

On Fri, Jan 07, 2011 at 06:18:51PM +0530, Santosh Shilimkar wrote:
quoted
quoted
-----Original Message-----
From: linux-omap-owner at vger.kernel.org [mailto:linux-omap-
owner at vger.kernel.org] On Behalf Of Felipe Balbi
Sent: Friday, January 07, 2011 6:09 PM
To: Russell King; Tony Lindgren
Cc: Linux OMAP Mailing List; Linux ARM Kernel Mailing List
Subject: Build breakage with omap2plus_defconfig

Hi all,

Today's Linus' tree (01539ba2a706ab7d35fc0667dff919ade7f87d63)
fails
quoted
quoted
to
build with omap2plus_defconfig:

$ crossmake
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CC      arch/arm/kernel/swp_emulate.o
/tmp/cc2V7p5j.s: Assembler messages:
/tmp/cc2V7p5j.s:161: Error: selected processor does not support
ARM
quoted
quoted
mode `ldrexb r3,[r4]'
/tmp/cc2V7p5j.s:162: Error: selected processor does not support
ARM
quoted
quoted
mode `strexb r0,r2,[r4]'
Well it's not toolchain issue but the omap2plus_defconfig which
selects ARMv6 and ARMV7 together.

If you remove ARCH_OMAP2 from build, it will go through.
I like Catalin's approach:
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 49db8b3..0fe2389 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -644,7 +644,7 @@ config ARM_THUMBEE

 config SWP_EMULATE
        bool "Emulate SWP/SWPB instructions"
-       depends on CPU_V7
+       depends on CPU_V7 && !CPU_V6
        select HAVE_PROC_CPU if PROC_FS
        default y if SMP
        help
Simple.
This patch is good but it does tell you that if
you will V6 and v7 together, the feature can't be used.

Like omap2plus_defconfig, and if booted on
say omap3 or omap4(v7), swp emulation can't be used
even though its supported.

Regards,
Santosh

Build breakage with omap2plus_defconfig

From: Felipe Balbi <hidden>
Date: 2011-01-07 13:10:17

Hi,

On Fri, Jan 07, 2011 at 06:35:39PM +0530, Santosh Shilimkar wrote:
This patch is good but it does tell you that if
you will V6 and v7 together, the feature can't be used.

Like omap2plus_defconfig, and if booted on
say omap3 or omap4(v7), swp emulation can't be used
even though its supported.
Sure, I got that from the patch, but we don't have any other simpler
solution currently. And it's indeed a shame we can't support multi-omap
anymore :-(

-- 
balbi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help