what is -i_dynamic on Linux?

what is -i_dynamic on Linux?

Since there seems to be little interest in my other post, let me try to get to the core of the issue in a more succinct way:

  1. What does the -i_dynamic flag do? It doesn't seem to be documented in the man pages. Is it equivalent to -shared-intel?
  2. In order that a stand alone executable program link against a shared library, say -lfoo, are there any additional flags required? (Assuming that the compiler can find the appropriate libfoo.so without any -L etc. flags.)


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

Regarding 1: -i_dynamic (the underscore form) was a option spelling used many many releases ago that was later mapped to -i-dynamic (the hyphen form) and then that form was depreciated in more current releases and it now maps to -shared-intel

Testing under our current Composer XE 2013 SP1 Update 1 release, all form appear to perform the same action of linking shared Intel libraries.

Regarding 2: If I'm reading correctly, the interest is having libfoo.so built using the Intel compiler and it having all Intel specific dependencies resolved in shared version of Intel specific libs. If so, then yes, that is what the -shared-intel option is designed to do. I don't know of other options required. When building shared libraries and using this option, it sometimes was necessary to specify -mcmodel=medium to deal with relocations errors like Symbol ‘<symbol name>’ causes overflow in R_X86_64_PC32. I don't whether that is needed in all cases.

Sorry for overlooking your earlier post. I'll go back and review it now.

No worries about the previous post.

Thanks for the response.

Leave a Comment

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