Message ID | 523F9E54.70907@asianux.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile index 36ea824..f224577 100644 --- a/arch/arm/mach-vexpress/Makefile +++ b/arch/arm/mach-vexpress/Makefile @@ -10,3 +10,6 @@ obj-$(CONFIG_ARCH_VEXPRESS_DCSCB) += dcscb.o dcscb_setup.o obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM) += tc2_pm.o spc.o obj-$(CONFIG_SMP) += platsmp.o obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o + +CFLAGS_dcscb.o +=-march=armv7-a +CFLAGS_tc2_pm.o +=-march=armv7-a
When 'vexpress' kernel is compiled for both v6 and v7, it can support armv7 instructions in lower level modules, so need let compiler know about it for related inline assembly code, or can not pass compiling. The related failure command: arm-linux-gnueabi-gcc -Wp,-MD,arch/arm/mach-vexpress/.dcscb.o.d -nostdinc -isystem /usr/lib/gcc/arm-linux-gnueabi/4.7/include -I/root/linux-next/arch/arm/include -Iarch/arm/include/generated -Iinclude -I/root/linux-next/arch/arm/include/uapi -Iarch/arm/include/generated/uapi -I/root/linux-next/include/uapi -Iinclude/generated/uapi -include /root/linux-next/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Werror=implicit-int -Werror=strict-prototypes -Os -Wno-maybe-uninitialized -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fstack-protector -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables -marm -D__LINUX_ARM_ARCH__=6 -march=armv6k -mtune=arm1136j-s -msoft-float -Uarm -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining -Wframe-larger-than=1024 -Wno-unused-but-se t-variabl e -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -femit-struct-debug-baseonly -fno-var-tracking -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -I/root/linux-next/arch/arm/mach-vexpress/include -I/root/linux-next/arch/arm/plat-versatile/include -W -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(dcscb)" -D"KBUILD_MODNAME=KBUILD_STR(dcscb)" -c -o arch/arm/mach-vexpress/.tmp_dcscb.o arch/arm/mach-vexpress/dcscb.c The related error: /tmp/ccOMIprI.s: Assembler messages: /tmp/ccOMIprI.s:507: Error: selected processor does not support ARM mode `isb ' /tmp/ccOMIprI.s:513: Error: selected processor does not support ARM mode `isb ' /tmp/ccOMIprI.s:514: Error: selected processor does not support ARM mode `dsb ' /tmp/ccOMIprI.s:584: Error: selected processor does not support ARM mode `isb ' /tmp/ccOMIprI.s:590: Error: selected processor does not support ARM mode `isb ' /tmp/ccOMIprI.s:591: Error: selected processor does not support ARM mode `dsb ' make[1]: *** [arch/arm/mach-vexpress/dcscb.o] Error 1 make: *** [arch/arm/mach-vexpress] Error 2 Signed-off-by: Chen Gang <gang.chen@asianux.com> --- arch/arm/mach-vexpress/Makefile | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)