【问题标题】:rpm build will remove .symtab/.strtab section?rpm build 会删除 .symtab/.strtab 部分吗?
【发布时间】:2017-07-09 05:43:15
【问题描述】:

我正在尝试使用 .symtab 和 .strtab 部分构建二进制文件来跟踪函数。 我正在使用“make && make install”,二进制文件没问题。 但是当我使用“make rpm”并安装 rpm 包时,.symtab 和 .strtab 部分都消失了,这很奇怪。 我跟踪了 rpm 构建日志,并看到了这些:

libtool: install: /usr/bin/install -c mybinary /root/rpmbuild/BUILDROOT/mybinary.el7.centos.x86_64/usr/sbin/mybinary

在这里,我再次手动执行,.symtab 部分存在。

extracting debug info from /root/rpmbuild/BUILDROOT/mybinary.el7.centos.x86_64/usr/sbin/mybinary

在这一步之后,.symtab 部分就消失了,我猜这里有问题。但我不知道为什么。 请帮忙。

【问题讨论】:

标签: debugging gcc rpm elf rpmbuild


【解决方案1】:

rpmbuild 自动剥离调试信息并将其放入 -debug 子包中。如果您出于某种原因想要保留它,请关注https://imvoid.wordpress.com/2013/06/05/stripping-and-stopping-stripping-of-binaries-in-rpm-build/

【讨论】:

  • 是的,这是我现在的选择,不要构建 debuginfo 包,不要剥离调试部分。我最初的目标是构建 normal 和 debuginfo rpm 包,并且 normal 包中的二进制文件包含 .symtab .strtab 和 .debug_* 部分。似乎没有办法做到这一点。 :(
猜你喜欢
  • 2014-04-05
  • 2018-10-23
  • 1970-01-01
  • 2015-08-26
  • 1970-01-01
  • 2019-10-11
  • 2021-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多