busybox编译成arm平台的二进制文件时,需要注意编译器选项。推荐使用codesourcery提供的交叉编译器,它默认提供的-march参数是 armv5te.  而Ubuntu软件包中的交叉编译器默认的march参数是armv7-a.

具体的参数区别如下:

codesourcery:

Using built-in specs.

Target: arm-none-linux-gnueabi

Configured with:

/scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure

--build=i686-pc-linux-gnu

--host=i686-pc-linux-gnu

--target=arm-none-linux-gnueabi

--enable-threads

--disable-libmudflap

--disable-libssp

--disable-libstdcxx-pch

--enable-extra-sgxxlite-multilibs

--with-arch=armv5te

--with-gnu-as

--with-gnu-ld

--with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}'

--enable-languages=c,c++

--enable-shared

--disable-lto

--enable-symvers=gnu

--enable-__cxa_atexit

--with-pkgversion='Sourcery G++ Lite 2009q3-67'

--with-bugurl=https://support.codesourcery.com/GNUToolchain/

--disable-nls

--prefix=/opt/codesourcery

--with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc

--with-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/libc

--with-gmp=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr

--with-mpfr=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr

--with-ppl=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr

--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm'

--with-cloog=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr

--disable-libgomp

--enable-poison-system-directories

--with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin

--with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-gnueabi/bin

Thread model: posix

gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67)

COLLECT_GCC_OPTIONS='-v'

'-o'

'aa'

'-march=armv5te'

'-funwind-tables'

/opt/arm-2009q3-none-linux-gnueabi/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.1/cc1

-quiet

-v

-iprefix

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/ -isysroot /opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc

aa.c

-quiet

-dumpbase

aa.c

-march=armv5te

-auxbase

aa

-version

-funwind-tables

-o /tmp/cc1pXwY1.s

#include "..." search starts here:

#include <...> search starts here:

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/include

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/include-fixed

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/include

/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/usr/include

GNU C (Sourcery G++ Lite 2009q3-67) version 4.4.1 (arm-none-linux-gnueabi)

compiled by GNU C version 4.3.2, GMP version 4.3.1, MPFR version 2.4.1-p5.

GGC heuristics:

--param

ggc-min-expand=100

--param

ggc-min-heapsize=131072

Compiler executable checksum: 74011fea7f66b1cda6b19363b6694363

COLLECT_GCC_OPTIONS='-v'

'-o'

'aa'

'-march=armv5te'

'-funwind-tables'

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/as

-v

-march=armv5te

-meabi=5

-o

/tmp/cc4FZC9V.o

/tmp/cc1pXwY1.s

GNU assembler version 2.19.51 (arm-none-linux-gnueabi) using BFD version (Sourcery G++ Lite 2009q3-67) 2.19.51.20090709

COMPILER_PATH=/opt/arm-2009q3-none-linux-gnueabi/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.1/:/opt/arm-2009q3-none-linux-gnueabi/bin/../libexec/gcc/:/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/

LIBRARY_PATH=/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/:/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/:/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/lib/:/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/usr/lib/

COLLECT_GCC_OPTIONS='-v'

'-o'

'aa'

'-march=armv5te'

'-funwind-tables'

/opt/arm-2009q3-none-linux-gnueabi/bin/../libexec/gcc/arm-none-linux-gnueabi/4.4.1/collect2

--sysroot=/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc

--eh-frame-hdr

-dynamic-linker

/lib/ld-linux.so.3

-X

-m

armelf_linux_eabi

-o

aa

/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/usr/lib/crt1.o

/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/usr/lib/crti.o

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/crtbegin.o

-L

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1

-L

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc -L/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/lib

-L

/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/usr/lib /tmp/cc4FZC9V.o

-lgcc

--as-needed

-lgcc_s

--no-as-needed

-lc

-lgcc

--as-needed

-lgcc_s

--no-as-needed

/opt/arm-2009q3-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/crtend.o

/opt/arm-2009q3-none-linux-gnueabi/bin/../arm-none-linux-gnueabi/libc/usr/lib/crtn.o

ubuntu cross compiler:

使用内建 specs。

目标:arm-linux-gnueabi

配置为:

../src/configure

-v

--with-pkgversion='Ubuntu/Linaro 4.4.7-1ubuntu2'

--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs

--enable-languages=c,c++,fortran,objc,obj-c++

--prefix=/usr

--program-suffix=-4.4

--enable-shared

--enable-linker-build-id

--with-system-zlib

--libexecdir=/usr/lib

--without-included-gettext

--enable-threads=posix

--with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.4.7

--libdir=/usr/lib

--enable-nls

--enable-clocale=gnu

--enable-libstdcxx-debug

--enable-objc-gc

--disable-sjlj-exceptions

--with-arch=armv7-a

--with-float=softfp

--with-fpu=vfpv3-d16

--with-mode=thumb

--disable-werror

--enable-checking=release

--program-prefix=arm-linux-gnueabi-

--includedir=/usr/arm-linux-gnueabi/include

--build=i686-linux-gnu

--host=i686-linux-gnu

--target=arm-linux-gnueabi

--with-headers=/usr/arm-linux-gnueabi/include

--with-libs=/usr/arm-linux-gnueabi/lib

线程模型:posix

gcc 版本 4.4.7 (Ubuntu/Linaro 4.4.7-1ubuntu2)

COLLECT_GCC_OPTIONS='-v'

'-o'

'aa'

'-march=armv7-a'

'-mfloat-abi=softfp'

'-mfpu=vfpv3-d16'

'-mthumb'

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/cc1

-quiet

-v

-imultilib

.

-imultiarch

arm-linux-gnueabi

aa.c

-quiet

-dumpbase

aa.c

-march=armv7-a

-mfloat-abi=softfp

-mfpu=vfpv3-d16

-mthumb

-auxbase

aa

-version

-o

/tmp/ccY8tups.s

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/include

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/include-fixed

/usr/arm-linux-gnueabi/include

GNU C (Ubuntu/Linaro 4.4.7-1ubuntu2) 版本 4.4.7 (arm-linux-gnueabi)

由 GNU C 版本 4.6.3 编译, GMP 版本 5.0.2,MPFR 版本 3.1.0-p3。

GGC 准则:--param ggc-min-expand=100 --param ggc-min-heapsize=131072

Compiler executable checksum: 602bbdb1e12aee29c89a048836b7c94c

COLLECT_GCC_OPTIONS='-v'

'-o'

'aa'

'-march=armv7-a'

'-mfloat-abi=softfp'

'-mfpu=vfpv3-d16' '-mthumb'

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/../../../../arm-linux-gnueabi/bin/as

-march=armv7-a

-mfloat-abi=softfp

-mfpu=vfpv3-d16

-mimplicit-it=thumb

-meabi=5

-o

/tmp/ccSERt9Z.o

/tmp/ccY8tups.s

COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabi/4.4.7/:/usr/lib/gcc/arm-linux-gnueabi/4.4.7/:/usr/lib/gcc/arm-linux-gnueabi/:/usr/lib/gcc/arm-linux-gnueabi/4.4.7/:/usr/lib/gcc/arm-linux-gnueabi/:/usr/lib/gcc/arm-linux-gnueabi/4.4.7/../../../../arm-linux-gnueabi/bin/

LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabi/4.4.7/:/usr/lib/gcc/arm-linux-gnueabi/4.4.7/../../../../arm-linux-gnueabi/lib/

COLLECT_GCC_OPTIONS='-v'

'-o'

'aa'

'-march=armv7-a'

'-mfloat-abi=softfp'

'-mfpu=vfpv3-d16'

'-mthumb'

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/collect2

--build-id

--eh-frame-hdr

-dynamic-linker

/lib/ld-linux.so.3

-X

--hash-style=gnu

-m

armelf_linux_eabi

-o

aa

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/../../../../arm-linux-gnueabi/lib/crt1.o /usr/lib/gcc/arm-linux-gnueabi/4.4.7/../../../../arm-linux-gnueabi/lib/crti.o

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/crtbegin.o

-L

/usr/lib/gcc/arm-linux-gnueabi/4.4.7

-L

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/../../../../arm-linux-gnueabi/lib /tmp/ccSERt9Z.o

-lgcc

--as-needed

-lgcc_s

--no-as-needed

-lc

-lgcc

--as-needed

-lgcc_s

--no-as-needed

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/crtend.o

/usr/lib/gcc/arm-linux-gnueabi/4.4.7/../../../../arm-linux-gnueabi/lib/crtn.o

linux下选择编译器,BusyBox编译时编译器的选择相关推荐

  1. busybox编译时编译器的选择

    busybox编译成arm平台的二进制文件时,需要注意编译器选项.推荐使用codesourcery提供的交叉编译器,它默认提供的-march参数是 armv5te.   而ubuntu软件包中的交叉编 ...

  2. 在Linux下gcc缺省编译,在Linux下用gcc编译hello world

    1. 确保Linux系统里已经装好了gcc 测试:输入gcc后是如下的结果就说明已经安装成功 2. 创建HelloWorld.c 使用 touch 创建一个空文件; 用vim编辑 按下A或者I 插入 ...

  3. Linux下boost库的编译、安装详解

    1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...

  4. Linux下C/C++程序编译链接加载过程中的常见问题及解决方法

    Linux下C/C++程序编译链接加载过程中的常见问题及解决方法 1 头文件包含的问题 报错信息 该错误通常发生在编译时,常见报错信息如下: run.cpp:2:10: fatal error: dl ...

  5. vs编译c语言停止工作运行库mt,vc++编译时运行库选择(/MT/MTd/MD/MDd)

    vc++编译时运行库选择(/MT/MTd/MD/MDd) vc++编译时运行库选择(/MT./MTd./MD./MDd) 在vs中,项目属性 ->C/C++ ->代码生成 ->运行库 ...

  6. 【ARM-Linux开发】linux下Eclipse进行C编程时动态链接库的生成和使用

    linux下Eclipse进行C编程时动态链接库的生成和使用 引用 http://linux.chinaitlab.com/soft/864157.html 欢迎进入Linux社区论坛,与200万技术 ...

  7. 在linux下面使用Jsoncpp,在编译时添加了头文件搜索路径-Ixxxx/json ,导致很多错误,如下: In file included from /usr/include/x86_64-li

    在linux下面使用Jsoncpp,在编译时添加了头文件搜索路径-Ixxxx/json ,导致很多错误,如下: In file included from /usr/include/x86_64-li ...

  8. linux 查看进程变量,Linux下查看进程(程序)启动时的环境变量

    Linux下查看进程(程序)启动时的环境变量 Linux的pargs ==================================== 今天又遇到一个老问题: 同事遇到了sqlplus &qu ...

  9. 在keil上编译linux下的STM32裸机工程 arm 编译器介绍

    Keil5.15使用GCC编译器编译STM32工程 https://blog.csdn.net/lan120576664/article/details/46806991 linux中keil如何编译 ...

最新文章

  1. EXTJS之Ext.util.Observable自定义事件
  2. how-to-get-a-job-in-deep-learning
  3. linux上安装pycharm
  4. POJ3277 线段树段更新,点询问+二分离散化+暴力
  5. 创建springboot出现error:connection timed out创建springboot报错显示连接超时解决方案
  6. kylin的安装和启动
  7. HiKey960 开发板 android 编译
  8. java 抽样_Java编程实现二项分布的采样或抽样实例代码
  9. 安装Centos系统
  10. mysql语句怎么拼接字符串_mysql字符串拼接
  11. CSDN学霸课表——来,这有一份PS入门速效大法
  12. vue使用 moment.js 格式化时间(获取当前日期的周一和周日)
  13. spss数据处理--数据检查
  14. 办理《北京市工作居住证》各项变更须提交材料
  15. mac出现文件夹问号_Macbook文件夹怎么设置隐藏或显示?开机带问号的文件夹怎么办?...
  16. 安装Maven(apache-maven-3.8.6)支持,使用Maven的前提
  17. CP(Cyclic Prefix)循环前缀介绍
  18. 电信物联网开放平台_NB-IoT业务对接 SSH
  19. 视频号封禁大量网课培训 社群营销直播间
  20. rsync远程同步(增量备份)

热门文章

  1. 北京奥运开幕式点火方式提前曝光 (图)
  2. 佳能80d有人脸识别吗_佳能80D拍摄体验:画质改变不多
  3. 【ubuntu】路由route学习(一):双网卡设置,一个访问局域网、一个访问因特网
  4. USDT中omni和erc20、trc20的对比转账到账时间和安全性等对比
  5. 订阅专业技术杂志了!一年期!
  6. 为什么大家都觉得前端自学比培训好?
  7. 获取地图转成图片技术分析
  8. 易维帮助台如何“重新定义客户服务”?
  9. matlab cell2mat报错:元胞内容引用自非元胞数组对象
  10. 实现微信/QQ聊天消息显示功能