linux/arch/arm
Arnd Bergmann 91802a8ef4 ARM: pass -marm to gcc by default for both C and assembler
The Linaro cross toolchain and probably others nowadays default to
building in THUMB2 mode. When building a kernel for a CPU that does
not support THUMB2, the compiler complains about incorrect flags.
We can work around this by setting -marm for all non-T2 builds.

-marm was passed unconditionally for C files previously, but nothing was
passed to the gcc frontend when processing .S files, resulting in a
warning.  The assembler never defaults to ARM unless -Wa,-mthumb is
supplied explicitly, so the files were still assembled correctly.

This patch makes sure that -marm is passed for .S files too, and also
avoids the redundant gcc -marm -mthumb in Thumb kernels.

Without this patch, building assabet_defconfig results in:

usr/initramfs_data.S:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
arch/arm/nwfpe/entry.S:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
firmware/cis/PCMLM28.cis.gen.S:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
(and many more)

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Dave Martin <dave.martin@linaro.org>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-09 20:29:05 +02:00
..
boot Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
common
configs ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
crypto
include Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
kernel ARM: export set_irq_flags 2012-10-09 20:24:24 +02:00
lib ARM: export default read_current_timer 2012-10-09 20:24:36 +02:00
mach-at91 sections: fix section conflicts in arch/arm/ 2012-10-06 03:04:38 +09:00
mach-bcm2835
mach-clps711x ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-cns3xxx
mach-davinci sections: fix section conflicts in arch/arm/ 2012-10-06 03:04:38 +09:00
mach-dove ARM: soc: device tree updates 2012-10-01 18:28:06 -07:00
mach-ebsa110 ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-ep93xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-exynos Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-footbridge ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-gemini
mach-h720x
mach-highbank Merge branch 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-10-02 19:13:12 -07:00
mach-imx Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-07 17:49:05 +09:00
mach-integrator Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-iop13xx Merge branch 'cleanup/__iomem' into next/cleanup 2012-09-22 10:24:29 -07:00
mach-iop32x Merge branch 'cleanup/__iomem' into next/cleanup 2012-09-22 10:24:29 -07:00
mach-iop33x
mach-ixp4xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-kirkwood ARM: kirkwood: dockstar: fix header include 2012-09-22 14:24:04 -07:00
mach-ks8695 ARM: soc: board specific updates 2012-10-01 18:48:30 -07:00
mach-l7200/include/mach
mach-lpc32xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-mmp ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-msm sections: fix section conflicts in arch/arm/ 2012-10-06 03:04:38 +09:00
mach-mv78xx0 Merge branch 'kirkwood/addr_decode' of git://git.infradead.org/users/jcooper/linux into late/kirkwood 2012-09-22 14:22:47 -07:00
mach-mvebu ARM: mvebu: fix build breaks from multi-platform conversion 2012-09-28 22:27:07 +02:00
mach-mxs ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-netx
mach-nomadik These are the bulk pinctrl changes for kernel v3.7: 2012-10-02 16:20:20 -07:00
mach-omap1 ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
mach-omap2 ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
mach-orion5x ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
mach-picoxcell
mach-prima2 ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-pxa Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
mach-realview ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-rpc
mach-s3c24xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-s3c64xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-s3c2410
mach-s3c2412
mach-s3c2440
mach-s5p64x0
mach-s5pc100
mach-s5pv210
mach-sa1100 Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-shark ARM: soc: driver specific changes 2012-10-01 18:46:13 -07:00
mach-shmobile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
mach-socfpga
mach-spear3xx
mach-spear6xx
mach-spear13xx ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-tegra Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-10-02 17:16:10 -07:00
mach-u300 MFD bits for the 3.7 merge window. 2012-10-05 12:01:30 +09:00
mach-ux500 These are the bulk pinctrl changes for kernel v3.7: 2012-10-02 16:20:20 -07:00
mach-versatile ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-vexpress Features: 2012-10-07 07:13:01 +09:00
mach-vt8500 ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
mach-w90x900
mach-zynq
mm ARM: Fix another build warning in arch/arm/mm/alignment.c 2012-10-09 20:24:36 +02:00
net
nwfpe
oprofile
plat-iop
plat-mxc Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-10-07 17:49:05 +09:00
plat-nomadik
plat-omap ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
plat-orion ARM: mvebu: fix build breaks from multi-platform conversion 2012-09-28 22:27:07 +02:00
plat-pxa
plat-s3c24xx
plat-samsung ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
plat-spear Merge branch 'multiplatform/platform-data' into next/multiplatform 2012-09-22 01:07:21 -07:00
plat-versatile Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-10-07 21:20:57 +09:00
tools ARM: soc: cleanups, part 2 2012-10-01 18:32:45 -07:00
vfp
xen
Kconfig ARM: Xen: fix initial build problems 2012-10-09 20:29:01 +02:00
Kconfig-nommu
Kconfig.debug ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
Makefile ARM: pass -marm to gcc by default for both C and assembler 2012-10-09 20:29:05 +02:00