LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1409|回复: 1

请教在编译内核时的一个问题

[复制链接]
发表于 2007-12-13 12:45:12 | 显示全部楼层 |阅读模式
在编译2.6.10内核是遇到
  SYMLINK include/asm-arm/arch -> include/asm-arm/arch-s3c2410
  CC      arch/arm/kernel/asm-offsets.s
In file included from include/asm/system.h:5,
                 from include/asm/processor.h:18,
                 from include/asm/thread_info.h:17,
                 from include/linux/thread_info.h:21,
                 from include/linux/spinlock.h:12,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/kernel.h:73: warning: `regparm' attribute directive ignored
include/linux/kernel.h:102: warning: `regparm' attribute directive ignored
include/linux/kernel.h:104: warning: `regparm' attribute directive ignored
In file included from include/asm/processor.h:18,
                 from include/asm/thread_info.h:17,
                 from include/linux/thread_info.h:21,
                 from include/linux/spinlock.h:12,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/arm/kernel/asm-offsets.c:13:
include/asm/system.h:13: warning: `regparm' attribute directive ignored
In file included from include/asm/thread_info.h:17,
                 from include/linux/thread_info.h:21,
                 from include/linux/spinlock.h:12,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/arm/kernel/asm-offsets.c:13:
include/asm/processor.h:68: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function)
include/asm/processor.h:68: error: requested alignment is not a constant
In file included from include/linux/thread_info.h:21,
                 from include/linux/spinlock.h:12,
                 from include/linux/capability.h:45,
                 from include/linux/sched.h:7,
                 from arch/arm/kernel/asm-offsets.c:13:
include/asm/thread_info.h:96: error: invalid register name for `current_stack_pointer'
In file included from include/linux/list.h:7,
                 from include/linux/wait.h:23,
                 from include/asm/semaphore.h:41,
                 from include/linux/sched.h:18,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/prefetch.h: In function `prefetch_range':
include/linux/prefetch.h:64: error: `CONFIG_X86_L1_CACHE_SHIFT' undeclared (first use in this function)
include/linux/prefetch.h:64: error: (Each undeclared identifier is reported only once
include/linux/prefetch.h:64: error: for each function it appears in.)
In file included from include/asm/semaphore.h:41,
                 from include/linux/sched.h:18,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/wait.h: At top level:
include/linux/wait.h:115: warning: `regparm' attribute directive ignored
include/linux/wait.h:116: warning: `regparm' attribute directive ignored
include/linux/wait.h:117: warning: `regparm' attribute directive ignored
include/linux/wait.h:139: warning: `regparm' attribute directive ignored
include/linux/wait.h:140: warning: `regparm' attribute directive ignored
include/linux/wait.h:141: warning: `regparm' attribute directive ignored
include/linux/wait.h:142: warning: `regparm' attribute directive ignored
include/linux/wait.h:143: warning: `regparm' attribute directive ignored
include/linux/wait.h:144: warning: `regparm' attribute directive ignored
include/linux/wait.h:145: warning: `regparm' attribute directive ignored
include/linux/wait.h:146: warning: `regparm' attribute directive ignored
include/linux/wait.h:147: warning: `regparm' attribute directive ignored
include/linux/wait.h:148: warning: `regparm' attribute directive ignored
include/linux/wait.h:307: warning: `regparm' attribute directive ignored
include/linux/wait.h:308: warning: `regparm' attribute directive ignored
include/linux/wait.h:310: warning: `regparm' attribute directive ignored
include/linux/wait.h:311: warning: `regparm' attribute directive ignored
include/linux/wait.h:317: warning: `regparm' attribute directive ignored
include/linux/wait.h:319: warning: `regparm' attribute directive ignored
include/linux/wait.h:321: warning: `regparm' attribute directive ignored
In file included from include/linux/rwsem.h:25,
                 from include/asm/semaphore.h:42,
                 from include/linux/sched.h:18,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/rwsem-spinlock.h:55: warning: `regparm' attribute directive ignored
include/linux/rwsem-spinlock.h:56: warning: `regparm' attribute directive ignored
include/linux/rwsem-spinlock.h:57: warning: `regparm' attribute directive ignored
include/linux/rwsem-spinlock.h:58: warning: `regparm' attribute directive ignored
include/linux/rwsem-spinlock.h:59: warning: `regparm' attribute directive ignored
include/linux/rwsem-spinlock.h:60: warning: `regparm' attribute directive ignored
include/linux/rwsem-spinlock.h:61: warning: `regparm' attribute directive ignored
include/linux/rwsem-spinlock.h:62: warning: `regparm' attribute directive ignored
In file included from include/linux/sched.h:18,
                 from arch/arm/kernel/asm-offsets.c:13:
include/asm/semaphore.h:90: warning: `regparm' attribute directive ignored
include/asm/semaphore.h:91: warning: `regparm' attribute directive ignored
include/asm/semaphore.h:92: warning: `regparm' attribute directive ignored
include/asm/semaphore.h:93: warning: `regparm' attribute directive ignored
include/asm/semaphore.h:95: warning: `regparm' attribute directive ignored
include/asm/semaphore.h:96: warning: `regparm' attribute directive ignored
include/asm/semaphore.h:97: warning: `regparm' attribute directive ignored
include/asm/semaphore.h:98: warning: `regparm' attribute directive ignored
In file included from include/linux/signal.h:6,
                 from include/linux/sched.h:25,
                 from arch/arm/kernel/asm-offsets.c:13:
include/asm/signal.h:225: warning: `regparm' attribute directive ignored
In file included from include/linux/sched.h:29,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/completion.h:30: warning: `regparm' attribute directive ignored
include/linux/completion.h:31: warning: `regparm' attribute directive ignored
include/linux/completion.h:32: warning: `regparm' attribute directive ignored
In file included from include/linux/sched.h:30,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/pid.h:29: warning: `regparm' attribute directive ignored
include/linux/pid.h:31: warning: `regparm' attribute directive ignored
include/linux/pid.h:37: warning: `regparm' attribute directive ignored
include/linux/pid.h:40: warning: `regparm' attribute directive ignored
In file included from include/linux/slab.h:15,
                 from include/linux/percpu.h:4,
                 from include/linux/sched.h:31,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/gfp.h:82: warning: `regparm' attribute directive ignored
include/linux/gfp.h:114: warning: `regparm' attribute directive ignored
include/linux/gfp.h:115: warning: `regparm' attribute directive ignored
include/linux/gfp.h:123: warning: `regparm' attribute directive ignored
include/linux/gfp.h:124: warning: `regparm' attribute directive ignored
include/linux/gfp.h:125: warning: `regparm' attribute directive ignored
include/linux/gfp.h:126: warning: `regparm' attribute directive ignored
In file included from include/linux/percpu.h:4,
                 from include/linux/sched.h:31,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/slab.h:112: warning: `regparm' attribute directive ignored
include/linux/slab.h:113: warning: `regparm' attribute directive ignored
In file included from arch/arm/kernel/asm-offsets.c:13:
include/linux/sched.h:181: warning: `regparm' attribute directive ignored
include/linux/sched.h:182: warning: `regparm' attribute directive ignored
In file included from include/linux/aio.h:5,
                 from include/linux/sched.h:191,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/workqueue.h:60: warning: `regparm' attribute directive ignored
include/linux/workqueue.h:61: warning: `regparm' attribute directive ignored
include/linux/workqueue.h:62: warning: `regparm' attribute directive ignored
include/linux/workqueue.h:64: warning: `regparm' attribute directive ignored
include/linux/workqueue.h:65: warning: `regparm' attribute directive ignored
In file included from include/linux/sched.h:191,
                 from arch/arm/kernel/asm-offsets.c:13:
include/linux/aio.h:157: warning: `regparm' attribute directive ignored
include/linux/aio.h:158: warning: `regparm' attribute directive ignored
include/linux/aio.h:159: warning: `regparm' attribute directive ignored
include/linux/aio.h:160: warning: `regparm' attribute directive ignored
include/linux/aio.h:161: warning: `regparm' attribute directive ignored
include/linux/aio.h:163: warning: `regparm' attribute directive ignored
include/linux/aio.h:165: warning: `regparm' attribute directive ignored
include/linux/aio.h:170: warning: `regparm' attribute directive ignored
In file included from arch/arm/kernel/asm-offsets.c:13:
include/linux/sched.h:790: warning: `regparm' attribute directive ignored
include/linux/sched.h:791: warning: `regparm' attribute directive ignored
include/linux/sched.h:792: warning: `regparm' attribute directive ignored
include/linux/sched.h:799: warning: `regparm' attribute directive ignored
include/linux/sched.h:800: warning: `regparm' attribute directive ignored
include/linux/sched.h:887: warning: `regparm' attribute directive ignored
include/linux/sched.h:965: warning: `regparm' attribute directive ignored
include/linux/sched.h:1074: warning: `regparm' attribute directive ignored
In file included from include/linux/dcache.h:10,
                 from include/linux/fs.h:16,
                 from include/linux/mm.h:15,
                 from arch/arm/kernel/asm-offsets.c:14:
include/linux/rcupdate.h:264: warning: `regparm' attribute directive ignored
include/linux/rcupdate.h:266: warning: `regparm' attribute directive ignored
In file included from arch/arm/kernel/asm-offsets.c:14:
include/linux/mm.h:289: warning: `regparm' attribute directive ignored
include/linux/mm.h:584: warning: `regparm' attribute directive ignored
include/linux/mm.h:585: warning: `regparm' attribute directive ignored
include/linux/mm.h:586: warning: `regparm' attribute directive ignored
include/linux/mm.h:601: warning: `regparm' attribute directive ignored
arch/arm/kernel/asm-offsets.c:15:27: asm/mach/arch.h: No such file or directory
arch/arm/kernel/asm-offsets.c:17:24: asm/memory.h: No such file or directory
arch/arm/kernel/asm-offsets.c: In function `main':
arch/arm/kernel/asm-offsets.c:59: error: structure has no member named `cpu_domain'
arch/arm/kernel/asm-offsets.c:60: error: structure has no member named `cpu_context'
arch/arm/kernel/asm-offsets.c:61: error: structure has no member named `used_cp'
arch/arm/kernel/asm-offsets.c:62: error: structure has no member named `fpstate'
arch/arm/kernel/asm-offsets.c:63: error: structure has no member named `vfpstate'
arch/arm/kernel/asm-offsets.c:64: error: structure has no member named `fpstate'
arch/arm/kernel/asm-offsets.c:80: error: invalid application of `sizeof' to an incomplete type
include/asm/system.h: In function `__set_64bit':
include/asm/system.h:169: error: unknown register name `dx' in `asm'
include/asm/system.h:169: error: unknown register name `ax' in `asm'
include/asm/processor.h: In function `cpuid_eax':
include/asm/processor.h:147: error: unknown register name `dx' in `asm'
include/asm/processor.h:147: error: unknown register name `cx' in `asm'
include/asm/processor.h:147: error: unknown register name `bx' in `asm'
include/asm/processor.h: In function `cpuid_ebx':
include/asm/processor.h:157: error: unknown register name `dx' in `asm'
include/asm/processor.h:157: error: unknown register name `cx' in `asm'
include/asm/processor.h: In function `cpuid_ecx':
include/asm/processor.h:167: error: unknown register name `dx' in `asm'
include/asm/processor.h:167: error: unknown register name `bx' in `asm'
include/asm/processor.h: In function `cpuid_edx':
include/asm/processor.h:177: error: unknown register name `cx' in `asm'
include/asm/processor.h:177: error: unknown register name `bx' in `asm'
include/asm/processor.h: In function `set_in_cr4':
include/asm/processor.h:214: error: unknown register name `ax' in `asm'
include/asm/processor.h: In function `clear_in_cr4':
include/asm/processor.h:224: error: unknown register name `ax' in `asm'
include/asm/semaphore.h: In function `down':
include/asm/semaphore.h:108: error: unknown register name `ax' in `asm'
include/asm/semaphore.h: In function `up':
include/asm/semaphore.h:182: error: unknown register name `ax' in `asm'
make[1]: *** [arch/arm/kernel/asm-offsets.s] 错误 1
make: *** [arch/arm/kernel/asm-offsets.s] 错误 2

的错误,但不知道怎么解决,先前怀疑是编译器的问题
但下载arm-linux-tools 3.4后仍然存在这个问题
请高手解答,先谢谢了
注:先前的编译工具是用crosstools 0.42作的
发表于 2007-12-14 13:34:33 | 显示全部楼层
看上去像头文件指向错误,用到了x86的头文件目录。
去内核的源码目录查看一下链接是否正确。
make ARCH=arm zImage
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表