花了点时间,编译了一次gcc-linaro-4.8-2013.12

博主分享了首次编译GCC-Linaro-4.8-2013.12的详细过程,旨在解决在编译libmad时遇到的ARM处理器相关的thumb指令错误。文中提到旧版codesourcery的编译问题,并指出Linaro在优化方面的优势。编译过程中,博主强调了不能在源码目录直接执行配置和安装命令,需要在新建目录中操作。文章提供了完整的编译脚本,包括gmp、mpfr、mpc、isl、cloog、binutils和gcc-linaro的编译步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次编译,是参考别人写的内容,有帮助,但还是要自已处理一些错误,其中有些错误,因为自已对GCC的组成不熟悉在定位错误时花了不少时间。最初要编译它是因为在编译libmad时遇到了thumb指令错误,但这个用codesoucery编译就没问题。所以认为出现编译软件上,但实际上是codesoucery过旧了,没有针对新的ARM处理器做编译参数优化。linaro在优化上做的比较好。其实thumb指令错误,改libmad的源码可以解决。

首先,要下载源码包,在ubuntu下开IPV6开代理,如下方式下载的会快一点。墙会时不时卡断数据传送,断点传送保证可以接收完全的数据包。版本相当多,因为我编译中遇到了一些自已不太明白的错误,最后先了一个打包好的比较旧的版本,这个版本与我所用的旧手机测试硬件也是相配的。

wget -c --no-check-certificate -e "https_proxy=http://127.0.0.1:8087" https://releases.linaro.org/archive/13.12/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_src.tar.bz2

1,关于sysroot。由glibc与kernel headers组成的sysroot,可自已编译,但用下载的源码包中的就好。

2,编译gcc时,需要注意一个原则:不要再gcc的源码中直接执行./configure、make、make install等命令,需要在源码目录下另外新建一个目录,在新建的目录中执行以上命令。

其它还有一些配置的细节,不多说给出我的编译脚本。

1-gmp-gnu.sh

#/bin/bash
PROJECT_BASE=$(pwd);
ME=gmp-5.0.2
#REPOSITORY=$PROJECT_BASE/download
REPOSITORY=$PROJECT_BASE/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_src
PREFIX=$PROJECT_BASE/PREFIX

#cd $REPOSITORY && wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$ME.tar.bz2
#cd $PROJECT_BASE/build && tar -jxvf $REPOSITORY/$ME.tar.bz2
cd $PROJECT_BASE/build/$ME

./configure  --prefix=$PREFIX

make
make install
#make && make install

 

2-mpfr-gnu.sh

#/bin/bash
PROJECT_BASE=$(pwd);
ME=mpfr-3.1.0
#REPOSITORY=$PROJECT_BASE/download
REPOSITORY=$PROJECT_BASE/gcc-linaro-arm-linux-gnueabihf-4.8-2013.12_src
PREFIX=$PROJECT_BASE/PREFIX

#cd $REP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值