QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2986|回复: 4

谁用过crosstool-0.43.tar.gz这个包吗?

[复制链接]
发表于 2008-7-4 10:26:53 | 显示全部楼层 |阅读模式
http://kegel.com/crosstool/

昨天找到这个时,以为发现了救星。按照howto一步一步做
mkdir /opt/crosstool
chown $USER /opt/crosstool
sh demo-arm.h
都完成,花了一个晚上的时间
早上醒来时很是高兴,可是当我要用这个编译内核映像文件时,敲入make,我就傻眼了

错误信息:
$ make
make: /usr/local/arm/3.4.1/bin/arm-linux-gcc:命令未找到
  CHK     include/linux/version.h
make[1]: “include/asm-arm/mach-types.h”是最新的。
  CC      arch/arm/kernel/asm-offsets.s
/bin/sh: /usr/local/arm/3.4.1/bin/arm-linux-gcc: 没有那个文件或目录
make[1]: *** [arch/arm/kernel/asm-offsets.s] 错误 1
make: *** [prepare0] 错误 2

后来我想起来了,我按照howto安装时,bin是装到/opt/crosstool/目录下,可是那里头的执行文件的名称也都与要求的不匹配,比如要求为arm-linux-gcc实际为arm-unknown-linux-gnu-gcc,详细请看

$ ls /opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/bin/
arm-unknown-linux-gnu-addr2line  arm-unknown-linux-gnu-cpp        arm-unknown-linux-gnu-gcov     arm-unknown-linux-gnu-objdump  arm-unknown-linux-gnu-strip
arm-unknown-linux-gnu-ar         arm-unknown-linux-gnu-g++        arm-unknown-linux-gnu-gprof    arm-unknown-linux-gnu-ranlib   fix-embedded-paths
arm-unknown-linux-gnu-as         arm-unknown-linux-gnu-gcc        arm-unknown-linux-gnu-ld       arm-unknown-linux-gnu-readelf
arm-unknown-linux-gnu-c++        arm-unknown-linux-gnu-gcc-4.1.0  arm-unknown-linux-gnu-nm       arm-unknown-linux-gnu-size
arm-unknown-linux-gnu-c++filt    arm-unknown-linux-gnu-gccbug     arm-unknown-linux-gnu-objcopy  arm-unknown-linux-gnu-strings

谁能帮忙解答一下,这个时候怎么样往下走?
谢谢
发表于 2008-7-4 12:53:25 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2008-7-4 13:53:52 | 显示全部楼层
看了,就在下面这一步卡壳了。我不知道怎样才能把那么多的-unknown-去掉,或者怎么做好链接,是不是要一个一个地做?

When it finishes, you can run the new compiler as /opt/crosstool/gcc-3.4.0-glibc-2.3.2/i686-unknown-linux-gnu/bin/i686-unknown-linux-gnu-gcc. (You might want to put /opt/crosstool/gcc-3.4.0-glibc-2.3.2/i686-unknown-linux-gnu/bin on your PATH; then you can run the compiler as i686-unknown-linux-gnu-gcc.)
回复

使用道具 举报

 楼主| 发表于 2008-7-4 14:02:50 | 显示全部楼层
我用了一个笨方法,一个一个地链接,但是……

cd /opt/crosstool/gcc-4.1.0-glibc-2.3.2/arm-unknown-linux-gnu/bin/
ln -T arm-unknown-linux-gnu-gcc /usr/local/arm/3.4.1/bin/arm-linux-gcc
ln arm-unknown-linux-gnu-objdump /usr/local/arm/3.4.1/bin/arm-linux-objdump -T
ln arm-unknown-linux-gnu-ld /usr/local/arm/3.4.1/bin/arm-linux-ld -T

此时make出现错误:

arch/arm/mm/alignment.c: In function 'proc_alignment_write':
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
arch/arm/mm/alignment.c:119: error: read-only variable '__r2' used as 'asm' output
make[1]: *** [arch/arm/mm/alignment.o] 错误 1
make: *** [arch/arm/mm] 错误 2

错误指向下面函数中的get_user一行
static int proc_alignment_write(struct file *file, const char __user *buffer,
                                unsigned long count, void *data)
{
        char mode;

        if (count > 0) {
                if (get_user(mode, buffer))
                        return -EFAULT;
                if (mode >= '0' && mode <= '5')
                        ai_usermode = mode - '0';
        }
        return count;
}

我看不出来get_user中有什么错误……
回复

使用道具 举报

发表于 2008-7-29 14:39:09 | 显示全部楼层
在你使用的sh调用的那个.DAT文件中可以更改arm-unknown-linux-gnu名字
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 00:24 , Processed in 0.086970 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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