[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#623964: ARM -mcpu=all and -march=all options are broken



Package: binutils
Version: 2.21.51.20110419-2
Severity: grave

GNU as documentation says about the -mcpu option for ARM:

     The special name `all' may be used to allow the assembler to
     accept instructions valid for any ARM processor.

However, this no longer works, resulting in failure to build Linux on
ARM:

  AS      arch/arm/boot/compressed/head.o
/build/buildd-linux-2.6_2.6.38-4-armel-xrLbTR/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/boot/compressed/head.S: Assembler messages:
/build/buildd-linux-2.6_2.6.38-4-armel-xrLbTR/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/boot/compressed/head.S:135: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
/build/buildd-linux-2.6_2.6.38-4-armel-xrLbTR/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/boot/compressed/head.S:142: Error: selected processor does not support requested special purpose register -- `mrs r2,cpsr'
/build/buildd-linux-2.6_2.6.38-4-armel-xrLbTR/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/boot/compressed/head.S:144: Error: selected processor does not support requested special purpose register -- `msr cpsr_c,r2'

The command line is:

   gcc-4.4 -Wp,-MD,arch/arm/boot/compressed/.head.o.d  -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.4.6/include -I/home/benh/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/include -Iinclude  -I/home/benh/linux-2.6-2.6.38/debian/build/source_armel_none/include -include include/generated/autoconf.h -D__KERNEL__ -mlittle-endian   -I/home/benh/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/mach-kirkwood/include   -I/home/benh/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/plat-orion/include -D__ASSEMBLY__ -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=xscale -include asm/unified.h -msoft-float -Wa,-march=all -DTEXT_OFFSET=0x00008000   -c -o arch/arm/boot/compressed/head.o /home/benh/linux-2.6-2.6.38/debian/build/source_armel_none/arch/arm/boot/compressed/head.S

Changing '-march=all' (which is not explicitly documented) to
'-mcpu=all' makes no difference.

This regression appears to have happened since binutils
2.21.0.20110327-2, as that appears to have been used to build
linux-2.6 version 2.6.38-3.

Ben.

-- System Information:
Debian Release: wheezy/sid
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'oldstable-proposed-updates'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.38-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages binutils depends on:
ii  libc6                   2.11.2-11        Embedded GNU C Library: Shared lib
ii  libgcc1                 1:4.6.0-5        GCC support library
ii  libstdc++6              4.6.0-5          The GNU Standard C++ Library v3
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

binutils recommends no packages.

Versions of packages binutils suggests:
pn  binutils-doc                  <none>     (no description available)

-- no debconf information



Reply to: