Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

64-bit Linking Error?

Kevin_Wilson
Beginner
1,987 Views
Hello,

I am using the Intel Compiler v11.1 on Snow Leopard. I am able to compiler my library as 32-bit using -m32. When changing to 64-bit (-m64) I get the following error:

Linking CXX shared library MEXAllocateAlignedMemory.mexmaci64
Assertion failed: (truncated uleb128 expression), function getULEB128, file /usr/local/include/libunwind/AddressSpace.hpp, line 152.
icpc: error #10106: Fatal error in ld, terminated by IOT instruction

The above code simply allocates aligned memory for other functions using the following:

temp_ptr = (void*)ippsMalloc_64f((int)(size[0]));

Where is the error coming from?

Thank you for any help,
Kevin
0 Kudos
2 Replies
Quoc-An_L_Intel
Moderator
1,987 Views
There is a posting int he IPP forum about linking with 64bit IPP libraries. I think this might help you.

http://software.intel.com/en-us/forums/showthread.php?t=73106&o=d&s=lr
0 Kudos
PaulF_IntelCorp
Employee
1,988 Views

Hello Kevin,

I don't think this is due to the IPP function, per se. Some searching on the web for SIGIOT reveals that you may have a bad pointer (perhaps the malloc didn't happen?). One source says this:

The IOT stands for "I/O Trap" but you should just think "bad pointer" and it is the same as segment violation (SEGV). If you really want, you can look in /usr/include/bits/signum.h . It is a little confusing in that a bad pointer can cause SIGIOT, SIGBUS, SIGSEGV but differences are for legacy reasons.

Unfortunately, it means that there is either a mismatch between the libraries resulting in memory corruption, or, more likely, something is not being initialized properly. It is hard to say what the problem might be. There may still be some other link option that you need, or something like that.


Memory allocation alignment problem? Stack problems? Check out this article, it might help: Determining Root Cause of SIGSEGV or SIGBUS errors

Paul

0 Kudos
Reply