/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc
-Wp,-MD,arch/arm/kernel/.debug.o.d
-nostdinc
-isystem /toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include
-I/kernel_imx/arch/arm/include
-Iinclude
-include include/generated/autoconf.h
-D__KERNEL__
-mlittle-endian
-Iarch/arm/mach-mx5/include
-Iarch/arm/plat-mxc/include
-D__ASSEMBLY__
-mabi=aapcs-linux -mno-thumb-interwork
-funwind-tables
-D__LINUX_ARM_ARCH__=7
-march=armv7-a
-include asm/unified.h
-msoft-float
-c -o arch/arm/kernel/debug.o arch/arm/kernel/debug.S
/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc
-Wp,-MD,arch/arm/mm/.iomap.o.d
-nostdinc
-isystem /toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/include
-I/kernel_imx/arch/arm/include
-Iinclude
-include include/generated/autoconf.h
-D__KERNEL__
-mlittle-endian
-Iarch/arm/mach-mx5/include
-Iarch/arm/plat-mxc/include
-Wall
-Wundef
-Wstrict-prototypes
-Wno-trigraphs
-fno-strict-aliasing
-fno-common
-Werror-implicit-function-declaration
-Wno-format-security
-fno-delete-null-pointer-checks
-Os
-marm
-mabi=aapcs-linux
-mno-thumb-interwork
-funwind-tables
-D__LINUX_ARM_ARCH__=7
-march=armv7-a
-msoft-float
-Uarm
-Wframe-larger-than=1024 -fno-stack-protector
-fomit-frame-pointer
-Wdeclaration-after-statement
-Wno-pointer-sign
-fno-strict-overflow
-fconserve-stack
-D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(iomap)"
-D"KBUILD_MODNAME=KBUILD_STR(iomap)"
-c -o arch/arm/mm/.tmp_iomap.o arch/arm/mm/iomap.c
arch/arm/kernel/debug.S: Assembler messages:
arch/arm/kernel/debug.S:167: Error: garbage following instruction -- `ldrne r3,=MX51_AIPS1_IO_ADDRESS(MX51_UART1_BASE_ADDR)'
arch/arm/kernel/debug.S:183: Error: garbage following instruction -- `ldrne r3,=MX51_AIPS1_IO_ADDRESS(MX51_UART1_BASE_ADDR)'
make[1]: *** [arch/arm/kernel/debug.o] Error 1
make: *** [arch/arm/kernel] Error 2
make: *** Waiting for unfinished jobs....
trace debug.S :167
addruart r3, r1
addruart 定義在 debug-macro.S:
.macro addruart, rx, tmp
mrc p15, 0, \rx, c1, c0
tst \rx, #1 @ MMU enabled?
ldreq \rx, =UART_PADDR @ physical
ldrne \rx, =UART_VADDR @ virtual
所以是 UART_VADDR 的定義: (debug-macro.S):
#include
#define UART_PADDR MX51_UART1_BASE_ADDR
#define UART_VADDR MX51_AIPS1_IO_ADDRESS(MX51_UART1_BASE_ADDR)
的 MX51_AIPS1_IO_ADDRESS( ) 沒有展開 (定義)。這個是定義在 mx51.h。
用 git blame 找一下 debug-macro.S ,發現原來是 include mx51.h ,後來在新增 mx5x.h 後,才改為 include mx51.h..
改回去就 build OK...
... 但是..
在 boot argument 加上 earlyprintk 後,bootmessage 在
Uncompressing Linxu... done, booting the kernel.
後,就沒有 message 了...
沒有留言:
張貼留言