Use the Intel® linker, xild, instead of step 2 in Creating a Multifile IPO Executable with Command Line. The Intel linker xild performs the following steps:
Invokes the Intel compiler to perform multifile IPO if objects containing IR are found.
Invokes GCC ld to link the application.
The command-line syntax for xild is the same as that of the GCC linker:
prompt>xild [<options>] <LINK_commandline>
where:
[<options>] (optional) may include any GCC linker options or options supported only by xild.
<LINK_commandline> is your linker command line containing a set of valid arguments to the ld.
To place the multifile IPO executable in ipo_file, use the option -ofilename, for example:
prompt>xild -oipo_file a.o b.o c.o
xild calls Intel compiler to perform IPO for objects containing IR and creates a new list of object(s) to be linked. Then xild calls ld to link the object files that are specified in the new list and produce ipo_file executable specified by the -ofilename option.
The -ipo option can reorder object files and linker arguments on the command line. Therefore, if your program relies on a precise order of arguments on the command line, -ipo can affect the behavior of your program.
You must use the Intel linker xild to link your application if:
Your source files were compiled with multifile IPO enabled. Multifile IPO is enabled by specifying the -ipo command-line option
You normally would invoke the GCC linker (ld) to link your application.
The additional options supported by xild may be used to examine the results of multifile IPO. These options are described in the following table.
-qipo_fa[file.s] |
Produces assembly listing for the multifile IPO compilation. You may specify an optional name for the listing file, or a directory (with the backslash) in which to place the file. The default listing name is ipo_out.s. |
-qipo_fo[file.o] |
Produces object file for the multifile IPO compilation. You may specify an optional name for the object file, or a directory (with the backslash) in which to place the file. The default object file name is ipo_out.o. |
-ipo_fcode-asm |
Add code bytes to assembly listing |
-ipo_fsource-asm |
Add high-level source code to assembly listing |
-ipo_fsource-asm, |
Enable and disable, respectively, inserting comments containing version and options used in the assembly listing for xild. |