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 ARM: dma-mapping: add support for dma_get_sgtable() 2012-07-30 12:25:47 +02:00
configs ARM: soc: late platform updates 2012-10-07 20:55:16 +09:00
crypto arm/crypto: Add optimized AES and SHA1 routines 2012-09-07 04:17:02 +08:00
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 ARM: dtb: move all dtb targets to common Makefile 2012-09-20 22:58:17 -07:00
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 ARM: gemini: fix the gemini build 2012-09-04 22:17:34 -07:00
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 ARM: netx: move platform_data definitions 2012-09-14 11:17:36 +02:00
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 ARM: initial multiplatform support 2012-09-14 09:22:06 -05:00
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 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
mach-s5pc100 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
mach-s5pv210 ARM: samsung: move platform_data definitions 2012-09-19 17:42:18 +02:00
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 ARM: initial multiplatform support 2012-09-14 09:22:06 -05:00
mach-spear3xx ARM: move all dtb targets out of Makefile.boot 2012-09-14 09:22:04 -05:00
mach-spear6xx ARM: move all dtb targets out of Makefile.boot 2012-09-14 09:22:04 -05:00
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 ARM: w90x900: move platform_data definitions 2012-09-14 11:18:59 +02:00
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 Bunch of perf updates for the ARM backend that pave the way for 2012-09-04 22:12:41 -07:00
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 ARM: nomadik: move platform_data definitions 2012-09-14 11:19:00 +02:00
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 ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
plat-s3c24xx ARM: S3C24XX: Fix s3c2410_dma_enqueue parameters 2012-08-08 09:04:51 +09:00
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 ARM: 7483/1: vfp: only advertise VFPv4 in hwcaps if CONFIG_VFPv3 is enabled 2012-08-11 09:15:57 +01:00
xen xen/arm: receive Xen events on ARM 2012-09-14 13:37:32 +00:00
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