作者:东西南北
近日,同事使用vcs执行ASIC 验证时报错不通过,报错提示如下
“./libdpi.so: wrong ELF class: ELFCLASS64”
经查询,libdpi.so 是 SystemVerilog DPI 是进行 ASIC验证的时候的一个中间库,此库
由gcc编译生成。
依据报错提示 “wrong ELF class:ELFCLASS64“,大概率与gcc编译方法有关,默认情况,linux是64位系统,gcc编译结果也是64的,但是这边提示 wrong ELF class,很有可能是64位不兼容导致。
于是,在gcc编译时指定32位 ,报错信息消失,程序成功执行。
“exec gcc -m64”
改为
“exec gcc -m32”
后成功执行。
总结,DPI这个程序是32位,执行编译的时候也需要32位编译。
网友留言: