免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2080 | 回复: 1
打印 上一主题 下一主题

arm elf 编译问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-10 20:48 |只看该作者 |倒序浏览
我试图自己调试一个arm-elf-的编译器,但编译完成之后试着编译C语言程序的时候总是提示说:ld:crti.o没有这个文件。
原因我想不透,请指教。
编译脚本如下:

pwd=/root/src
prefix=/opt/arm-elf-0.1
COMMON_FLAG="--target=arm-elf --prefix=$prefix --enable-interwork --enable-multilib --with-float=soft"

binutils="binutils-2.19"
gcc="gcc-4.3.2"
newlib="newlib-1.16.0"

check_success()
{
    if [ $? -ne 0 ]
        then
            echo error-----------------------------------
            exit 66
    fi
}

build_tar()
{
    tar jxvf $binutils.tar.bz2
    check_success
    tar jxvf $gcc.tar.bz2
    check_success
    tar zxvf $newlib.tar.gz
    check_success
    tar jxvf $gdb.tar.bz2
    check_success
}

build_binutils()
{
    echo build binutils -----------------------------------------------
    cd $pwd
    cd $binutils
    ./configure $COMMON_FLAG
    check_success
    make all install   
    check_success
    export PATH="$PATHprefix/bin"
    check_success
}

build_gcc1()
{
    echo build gcc1 -----------------------------------------------
    cd $pwd
    cd $gcc
    ./configure $COMMON_FLAG --enable-languages="c,c++" --with-newlib --with-headers=../$newlib/newlib/libc/include
    check_success
    make all-gcc install-gcc
    check_success
}

build_newlib()
{
    echo build newlib -----------------------------------------------
    cd $pwd
    cd $newlib
    ./configure $COMMON_FLAG
    check_success
    make all install
    check_success
}


build_gcc2()
{
    echo build gcc2 -----------------------------------------------
    cd $pwd
    cd $gcc
    make all install
    check_success
}



build_tar
build_binutils
build_gcc1
build_newlib
#build_gcc2

论坛徽章:
0
2 [报告]
发表于 2009-08-13 11:23 |只看该作者
make install_root=${fsbuild_install}/${fsbuild_target}/libc/./ install-bootstrap-headers=yes install-
在安装glibc-header的时候,除了运行"make install-headers ...",还要拷贝crt1.o crti.o crtn.o到libc/usr/lib目录下,还要编译生成libc.so,参考如下命令:
make csu/subdir_lib
cp csu/crt1.o csu/crti.o csu/crtn.o ${install}/${target}/libc/./usr/lib/./
popd
${install}/bin/${target}-gcc -o ${install}/${target}/libc/./usr/lib/.//libc.so -nostdlib -nostartfiles -shared -x c /dev/null

check_exit "# task [063/201]"     # /${fsbuild_host}/toolchain/glibc_headers/glibc_1/copy
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP