ABI in icc and dynamic linking with gcc based product

ABI in icc and dynamic linking with gcc based product


This post is about ABI in icc and its interaction with
dynamic linking features in a gcc based product.
The OS is Linux.

We develop and deliver code modules that are
dynamically linked in an application that one of our 3rd
party vendors provide.

If we use icc 7.0 for linux and if our vendor uses
gcc, will this work seamlessly?

Does anyone have experience playing with dlopen() like
stuff with heterogeneously generated objects? ABI in icc
seems to guarantee that this will work, but I thought it's
better to check with the community. Are there any known
things to watch out for?

Appreciate your time.


2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The answer to your question is, it depends.

I believe that if the source code is all C, what you describe will work fine.

If the sources are C++, it should not work. There are some known ABI incompatibilities in gcc 3.2. In addition, gcc and icc version 7.0 use different underlying c++ libraries (iostream, etc.), and define different macros.

[Intel Compiler Team]

Leave a Comment

Please sign in to add a comment. Not a member? Join today