南京郑州航班时刻表:undefined reference to `printascii'

来源:百度文库 编辑:偶看新闻 时间:2024/05/03 11:47:58

undefined reference to `printascii'  

2007-06-22 18:00:51|  分类: 内核编译 |  标签: |字号大中小 订阅

2.6.21 linux 内核 3.4.1 toolchains (gcc3.4.1 glibc2.3.2 binutils2.1.5.90.0.3)
在配置好内核后 进行编译

出现如下错误:
LD .tmp_vmlinux1
arch/arm/mach-s3c2410/built-in.o(.text+0x1fd4): In function `$a':
: undefined reference to `printascii'
make: *** [.tmp_vmlinux1] Error 1


printascii/printch/printhex/printhex2/printhex4/printhex8 定义于arch/arm/kernel/debug.S,这几个“函数”依赖于平台相关的几个“函数”:addruart senduart waituart busyuart (include/asm-arm/arch-s3c2410/debug-macro.S)来实现不依赖于 串口驱动的信息打印。

需要打开以下两个选项(实际上是后一个,其依赖前一个):
Kernel debugging (CONFIG_DEBUG_KERNEL=y)
Kernel low-level debugging functions (CONFIG_DEBUG_LL=y)

出错是在2410平台相关的目录中pm.c在定义了CONFIG_ S3C2410_PM_DEBUG 时要引用 printascii,但这个选项并没有自动打开上面的两个选项。(Bug:)

因此,最终解决方案是:
[1] 关闭PM调试选项:S3C2410 PM Suspend debug; 或
[2] 打开上面两个核心调试选项;或
[3]修改 arch/arm/mach-s3c2410/Kconfig 文件:


config S3C2410_PM_DEBUG

bool "S3C2410 PM Suspend debug"

depends on ARCH_S3C2410 && PM

+ select CONFIG_DEBUG_KERNEL CONFIG_DEBUG_LL
help

Say Y here if you want verbose debugging from the PM Suspend and

Resume code. See `Documentation/arm/Samsing-S3C24XX/Suspend.txt`

for more information.



 

config S3C2410_PM_DEBUG

bool "S3C2410 PM Suspend debug"

- depends on ARCH_S3C2410 && PM
+ depends on ARCH_S3C2410 && PM && CONFIG_DEBUG_LL
help

Say Y here if you want verbose debugging from the PM Suspend and

Resume code. See `Documentation/arm/Samsing-S3C24XX/Suspend.txt`

for more information.