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

busybox编译时编译器的选择相关推荐

  1. linux下选择编译器,BusyBox编译时编译器的选择

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

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

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

  3. Android中使用AbstractProcessor在编译时生成代码

    Android中使用AbstractProcessor在编译时生成代码 发现这边不错的文章,忍不住转了过来,转自: http://blog.csdn.net/industriously/article ...

  4. swift-annotations:java编译时警告主版本 52 比 51 新, 此编译器支持最新的主 版本。

    今天在java bean代码中加入swift的注释时,编译时提示了警告: [javac] 警告: J:\facelog\db\sql2java\lib\swift-annotations-0.23.1 ...

  5. java文件用editplus乱码,EditPlus设置编码后,编译时仍然出现乱码

    之前用EditPlus学习JavaSE的内容,为了统一编码,按网上教程将该IDE当做编辑器编辑Java程序,将EditPlus的编码设置为UTF-8,教程步骤如下: 在工具(Tools)--配置(用户 ...

  6. busybox编译笔记

    1.下载busybox-1.20.1.tar.bz 2.解压:tar   jxvf   busybox-1.20.1.tar.bz 3.配置: (1)进入解压后的文件busybox-1.20.1:cd ...

  7. arm linux gnueabi编译,交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别

    本身以前一直没搞清楚这两个交叉编译器到底有什么问题,特地google一番,总结以下,但愿能帮到道上和我有一样困惑的兄弟-..linux 一. 什么是ABI和EABI 1) ABI: 二进制应用程序接口 ...

  8. nameof() 到底是编译时还是运行时行为?

    咨询区 Gigi: 在 C#6.0 中,可以用 nameof() 直接获取变量或者类型的名字,请问这是一个 编译时 还是 运行时 行为? 回答区 Faris Zacina: 可以肯定的说,它是一种 编 ...

  9. TypeScript 3.9 正式发布!平均编译时长从 26 秒缩短至 10 秒

    作者 | 微软官方博客 译者 | 核子可乐 策划 | 小智 稿源 | 前端之巅 今天,微软在其官方博客宣布:TypeScript 3.9 版本已经正式发布,详情见下文. 有些朋友可能对 TypeScr ...

最新文章

  1. 使用 Linux 系统调用的内核命令图解
  2. 有哪些小游戏的java代码_求一个Java小游戏代码(鼠标点击类小游戏)最好代码里面不要有中文...
  3. java 实现数据结构之队列
  4. mysql的limit_MYSQL中LIMIT用法
  5. plsql developer 查看存储过程执行计划_产品简介 | X-Developer一站式研发效能管理平台...
  6. 多线程 简单的实现案例
  7. web前端入门:CSS 样式书写规范
  8. 论文笔记_S2D.17-2018-ECCV-通过卷积空间传播网络(CSPN)的相似性学习进行深度估计
  9. 建模步骤_SolidWorks建模气球球拖,有步骤,新手都在找的练习题
  10. VAD(Voice Activity Detection)算法详解
  11. PyCharm2021设置成中文版
  12. 计算机打印服务总是自动关闭,win10系统电脑打印机print spooler服务总是自动停止的设置教程...
  13. HTML基础入门教程
  14. ros路由器l5和l6的区别_ESXI安装Mikrotik RouterOS(ROS)软路由部署指南(附授权镜像下载)...
  15. Bone Collector——01背包
  16. dvwa上传php文件,DVWA之文件上传漏洞
  17. 机器学习基石(林軒田)笔记之十二
  18. Day 112/200 Macbook Pro 电脑按键脱落怎么办?
  19. 美国国土安全部部长约翰逊就Dyn网络攻击事件发表声明
  20. 美甲实体行业没有客户?想做线上引流?这些渠道千万别错过!

热门文章

  1. bugku souce
  2. mysql导入数据库失败解决方法
  3. *leetcode-313-超级丑数-medium
  4. ES6中的Class回顾总结三:封装与多态
  5. Django annotate
  6. Vue的学习(一:基本使用到路由部分)
  7. php e notice,PHP error_reporting(E_ALL ^ E_NOTICE)错误报告详细说明
  8. 关于苹果IOS相关的信息整理
  9. Flink双流JOIN
  10. 【JavaScript】jQuery 实现耦合的鼠标单击与双击事件