Displaying 1 result from an estimated 1 matches for "_numbers".
Did you mean:
numbers
2013 Jan 05
0
[LLVMdev] RuntimeDyld bug in resolving addresses with offset?
...string fileName = "rtdyldbug.o";
myFun fptr = (myFun)getFunctionPointer(funName, fileName);
double w[5] = {0, 0, 0, 0, 0};
fptr(4, w);
printf("%f \n", w[2]);
return 0;
}
The printed result should be 148, but its 132. The instruction which reads numbers[4] is
mulsd _numbers+0x00000020(%rip),%xmm0
When I did debugging at the assembly level, I found that the offset 0x20 is ignored. The resolved address points to numbers[0] instead of numbers[4].
I compiled the attached rtdyldbug.c as "clang -c -o rtdyldbug.o rtdyldbug.c". I compiled myrtdyld.cpp as "cla...