抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Ubuntu 编译安装 Binutils2.4版本

默认的Binutils版本为

binutils:
  Installed: 2.34-6ubuntu1.4
  Candidate: 2.34-6ubuntu1.4
  Version table:
 *** 2.34-6ubuntu1.4 500
        500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
        100 /var/lib/dpkg/status
     2.34-6ubuntu1 500
        500 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/main amd64 Package

默认的2.34 包含的 Objdump,gprof,BDF ,lld,等是不兼容最新的DWARF-V5

Clang-14 -g 生成的编译信息是以DWARF-V5 最新版本为基础的,

所以就会出现如下错误:

DWARF error: invalid or unhandled FORM value: 0x25

困扰许久

  1. 一种解决方式是clang++ 等最新编译器编译时添加 -gdwarf-4 参数使其使用DWARFV4版本。

    但这种方法有事并不可行

ASAN 检测内存错误 debug

索性就安装最新的版本吧! Binutils2.4 是支持 DWARF-V5

或者直接下载我已编译好的:

提取码: 5zo2

建议一下命令使用带有管理员用户执行,若没有权限,则在命令前加sudo

  1. 下载源码:

    wget https://ftp.gnu.org/gnu/binutils/binutils-2.40.tar.gz
  2. 解压编译

    tar -zxvf XXXX
    cd XXXX
    ./Configure --prefix=`pwd`/build-install
    make 
    make install
  3. 如果Configure时提示 缺少GMP4.2+,MPFR3,1,0+ 之类的依赖的话

    wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
    wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
    wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
    

    分别解压 进入对应目录

    tar -jxvf XXX
    cd XXX
    ./Configure
    make && make install
  4. WARNING: `makeinfo’ is missing on your system. You should only need it if

    之类的错误

    安装:

    apt-get install texinfo
    apt-get install flex
    apt-get install bison
  5. 如果出现 fatal error: sys/cdefs.h: No such file or directory

    在64位的Ubuntu如果执行X86平台32位编译,gcc -m32 -o x x.c会报错:fatal error: sys/cdefs.h: No such file or directoryapt-get install libc6-dev-i386

    apt-get install libc6-dev-i386

上述问题都解决后, 建议删除掉当前目录, 重新解压Binutils, 重新执行:

tar -zxvf XXXX
cd XXXX
./Configure --prefix=`pwd`/build-install
make 
make install

执行完成后 , 会在当前目录下的/build-install/bin目录中出现新安装的gprof,objdump,lld

使用链接命令进行连接

#例如:
ln -s `pwd`/bin/gprof /usr/bin/gprof24

评论吧



本站总访问量为 访客数为

鲁 ICP 备 20018157 号-1
Copyright 2021 - 2022 sizaif. All Rights Reserved