Binutils的调整过程

要想能调整binutils必须自己编译一个ld命令,ld是个链接器,是整个编译过程中最后一步要执行的命令,要根据库生成程序文件。

以lfs中的为例:

../binutils-2.20/configure --prefix=/tools --disable-nls --with-lib-path=/tools/lib

make

make install

make -C ld clean

make -C ld LIB_PATH=/usr/lib:/lib

cp -v ld/ld-new /tools/bin

这个过程会把binutils安装在/tools目录下,并生成一个ld-new放到/tools/bin下。

这个过程会生成两个ld,ld和ld-new。这两个ld的不同这处在于它们的搜索路径不同。

ld的搜索路径为/tools/lib,在configure时用--with-lib-path=/tools/lib设置。

ld-newr的搜索路径为/usr/lib:/lib,在重新生成ld时用LIB_PATH=/usr/lib:/lib设置。

这样只要把这两个ld保存好,到时想依赖哪个glibc就用对应ld就行了,不要告诉我你不知道用哪个哟。

Gcc的调整过程

gcc –dumpspecs会输出gcc的现有配制。Sed是个行正则处理工具,把输出的配制中的某些字符串统一替换。

gcc -dumpspecs | sed \

-e 's@/lib\(64\)\?/ld@/tools&@g' \

-e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" \

> $(dirname $($LFS_TGT-gcc -print-libgcc-file-name))/specs

上面的过程大致为gcc输出配制给sed,sed替换后输出到specs文件。

$(dirname $($LFS_TGT-gcc -print-libgcc-file-name))为specs应该在的路径。

linux binutils,Binutils的调整过程和Gcc的调整过程相关推荐

  1. Linux下Gcc 的编译过程

    在linux下开发难免会用到gcc编译.GCC(GNU Compiler Collection.GNU编译器套装),是由 GNU 开发的编程语言编译器.它是GNU编译器套装以GPL许可证所发行的自由软 ...

  2. linux下gcc的编译过程详解

    Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作品之一.gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一 ...

  3. GCC/G++编译过程

    GCC编译过程 # 编写一个最简单的C++程序 $ cat hello.cpp int main() {return 0; }# -v选项可以打印出详细的编译过程,以及编译命令. $ gcc -v - ...

  4. GCC的编译过程以及其同盟成员和ELF文件的分析

    文章目录 一.GCC的同盟成员介绍 1.GCC的介绍 2.同盟成员之Binutils 3.同盟成员之C 运行库 二.GCC的详细编译过程 1.编译的简介 2.预处理(Preprocessing) 3. ...

  5. Linux服务器的显卡驱动丢失又装上的过程

    记一次Linux服务器的显卡驱动消失又装上的过程 因为reboot服务器了以后不明原因更新了centOS内核,导致显卡驱动没了,重新装驱动过程 故事背景 前一天试图更新linux默认语言,更改¥LAN ...

  6. 韦东山 嵌入式Linux应用开发基础知识 上【gcc makefile 输入设备

    1 main的输入参数,并且在命令行运行文件的时候输入 我的练习 先写了个单纯输出的hello 按照教程里那样写hello 所以gcc编译过程应该是 先创建一个.c文件 gcc -c -o hello ...

  7. Linux后台开发系列之「07.gcc 编译基础」

    gcc 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! 本文摘要 这篇文章主要介绍 gcc 相关的技术,包括以下 8 个方面: gcc 简介 gcc 参数 ...

  8. Linux基础开发工具使用(yum,vim,gcc/g++,gdb,make,git)

    文章目录 一.Linux 软件包管理器 yum (1).软件包和软件包管理器 (2).ping指令 (3).查看软件包 (4).安装软件 (5).卸载软件 二.Linux编辑器-vim使用 (1).v ...

  9. 调整模型 与 提纯样本的关系过程有点类似EM算法过程,不知道这样理解是否是正确理解,固定A调B,B调到最优后,固定B再调A,循环往复,直至最优。

    调整模型 与 提纯样本的关系过程有点类似EM算法过程,不知道这样理解是否是正确理解,固定A调B,B调到最优后,固定B再调A,循环往复,直至最优.  个人理解

最新文章

  1. Qt创建多线程的步骤
  2. EOS 账号创建和信息查询
  3. MTK6573电源管理(PM)小结
  4. 测试管理 | 测试经理定义和实施测试度量
  5. 给定单链表,检测是否有环等系列考题
  6. mysql插入记录到有约束的表_MySQL学习笔记-约束以及修改数据表
  7. 的大小name转为小写_linux 进程 -- ps -ef|grep process_name
  8. 企业AD域管理线上沙龙
  9. 免费下载天地图全国基础地理信息矢量数据的一种方法
  10. Mac 下拷贝文件到移动硬盘
  11. Elastic 7.13.0 版重磅发布:在 Elastic 上搜索和存储更多数据
  12. 要考驾照科目二了,好紧张
  13. Java时间戳与时间互相转换(含毫秒及秒转换方式)
  14. Linux下QProcess不产生finished信号、waitforfinished阻塞超时【defunct进程】
  15. 奢华和生活方式酒店品牌阿丽拉将引入上海;施华洛世奇揭幕全新品牌视觉形象 | 美通企业日报...
  16. java导入excel数据_java使用POI批量导入excel数据的方法
  17. qBittorrent一个替代 µTorrent 的开源软件
  18. Xxtea算法php,PHP初记|xxtea类
  19. python3安装scapy_scapy安装
  20. 微信登录设备android22,安卓微信 7.0.22 内测版发布,支持手机和平板同时登录

热门文章

  1. java实现通话_Java做一个最简单的通话程序
  2. Hive 正则提取英文名称和中文名称
  3. MySQL--存储过程、局部变量与用户变量[@](初步认识)
  4. 操作系统——学习资料
  5. 2022年第十三届蓝桥杯大赛软件类决赛C/C++大学B组E题出差
  6. apk反编译工具的使用,超实用
  7. strlen函数详解(每天认识一个库函数)
  8. DIV2K数据集官网点击但是不能下载的解决方法
  9. k8s aggregated api的编写思路
  10. TypeMonkey for Mac(AE文字排列效果脚本插件)