我正在尝试调试错误版本的函数被调用导致段错误的问题.我正在编译的代码是机器生成的,包含一个名为’times’的函数,它复杂地对它的两个参数进行乘法运算.在链接到更高级别的目标文件之前,此代码被编译为.o.
运行此代码时,segfaults和gdb表示它处于glibc的’times’版本中,甚至不会使用相同数量的参数.这个代码中没有’#include任何地方的实例.
将时间名称更改为times1可以解决问题.这不是一个长期的解决方案,但由于机器生成的代码性质和手动编辑此函数的名称一直没有吸引力.
整个烂摊子用-Wall编译清洁,所以我不知道在哪里看.关于如何解决这个问题的任何想法?
Compile chain: gcc -Wall -I. -g --shared -o dpd.o -fPIC *.c (mahine generated code here) gcc -g --std=c99 -c -fpic getData.c -I/usr/local/include -L/usr/local/lib -lmatio -I/usr/local/include/iverilog -I$(MATLAB) gcc -g -shared -o getData.vpi getData.o $(MATLAB)/dpd.o -lvpi -lmatio -L/usr/local/lib