linux - "arm-linux-gcc"和 "sim-panalyzer"导致的奇怪错误位于glibc函数 "dl_aux_init"

标签 linux gcc arm simulator glibc

我写了一个简单的 c 语言程序,没有额外的功能代码和库依赖:

void main()
{
}

保存为“Test.c”,我用“arm-linux-gcc”为arm architect编译,输出一个elf格式文件“Test”,命令为“arm-linux-gcc Test. c -o 测试 -static”。 然后我使用功率模拟器工具“Sim-Panalyzer”估计文件“Test”的功率,回显信息显示“fatal:non-speculative fault (2) detected @ 0x00013c58”。 所以我使用命令“readelf -S Test”并找到地址在段“.text”中,然后使用命令“arm-linux-objdump Test -Sl -j .text > a.txt”将信息输出到文件“a.txt”中。我在这里找到地址并了解信息:

   13c48:   1affffd4    bne 13ba0 <_dl_aux_init+0x8c>
   13c4c:   e352000f    cmp r2, #15
   13c50:   e59d201c    ldr r2, [sp, #28]
   13c54:   e59d3018    ldr r3, [sp, #24]
   13c58:   e5892000    str r2, [r9]

这里很明显错误发生在gcc库“glibc-2.9/elf/dl-support.c”中的函数“dl_aux_init”但是我不知道如何处理这个错误.我不敢相信 glibc 中的错误,所以我希望有人能帮我找到导致这个错误的原因。 “Sim-Panalyzer”的使用有问题吗?

最佳答案

报错很奇怪,但原因是我使用了最新“arm-linux-gcc”版本(4.3.2)导致了这个问题。我将工具版本更改为从站点下载的 2.95.3 http://ftp.arm.linux.org.uk/pub/armlinux/toolchain/ ,然后一切正常!很明显,“sim-panalyzer2.0”这个工具什么都没有。

关于linux - "arm-linux-gcc"和 "sim-panalyzer"导致的奇怪错误位于glibc函数 "dl_aux_init",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12745289/

相关文章:

linux - 为 Lucid Lynx 安装 Eclipse CDT 失败

php - Curl在XAMPP和LARAGON上工作,但在Ubuntu APACHE2/CentOS APACHE上不行

linux - unoconv : UnoException during import phase: The document '(path to document)' could not be opened

c - 内置/内在测试

c - U-Boot 2020.04 : Probing SPI flash fails - Invalid bus 0 (err=-19)

c++ - 差价合约监控程序

c++ - 如何在C++中重载<<<用于 vector <int>的运算符

c++ - 我是否误解了这个默认参数 shared_ptr 的范围?

arm - 为什么在ARM上有两个向量表地址?

linux - AT91(Cortex A5 ARM,无GPU)3D图形应用程序开发解决方案