Visible to Intel only — GUID: GUID-4555A569-67C0-42E7-A0E2-5E5CB05C21B0
Visible to Intel only — GUID: GUID-4555A569-67C0-42E7-A0E2-5E5CB05C21B0
Linking Tools and Options
This topic describes how to use the Intel linking tools, xild (Linux* and macOS) and xilink (Windows*).
The Intel linking tools behave differently on different platforms. The following sections summarize the primary differences between linking behavior.
Linux* and macOS Linking Behavior
The linking tool invokes the Intel Fortran Compiler to perform IPO if objects containing IR (intermediate representation) are found. These are mock objects. The tool invokes GNU ld to link the application.
The command-line syntax for xild is the same as that of the GNU linker: where:
[<options>]: One or more options supported only by xild (optional).
<normal command-line>: Linker command line containing a set of valid arguments for ld.
To create the file app using IPO, use the option o[filename] as shown in the following example:
The linking tool calls the compiler to perform IPO for objects containing IR and creates a new list of object(s) to be linked. The linker then calls ld to link the object files that are specified in the new list and produce the application with the name specified by the o option. The linker supports the ipo[n] option and ipo-separate option.
To display a list of the supported link options from xild, use the following command:
Windows* Linking Behavior
The linking tool invokes the Intel Fortran Compiler to perform multi-file IPO if objects containing IR (intermediate representation) is found. These are mock objects. It invokes the Microsoft linker link.exe to link the application.
The command-line syntax for the Intel linker is the same as that of the Microsoft linker: where:
[<options>]: One or more options supported only by xilink (optional).
<normal command-line>: Linker command line containing a set of valid arguments for the Microsoft linker.
To place the multifile IPO executable in ipo_file.exe, use the linker option out:[filename] , for example:
The linker calls the compiler to perform IPO for objects containing IR and creates a new list of object(s) to be linked. The linker calls Microsoft link.exe to link the object files that are specified in the new list and produce the application with the name specified by the out:[filename] linker option.
To display a list of support link options from xilink , use the following command:
xilink.exe accepts all the options of link.exe and will pass them on to link.exe at the final linking stage.
Using the Linking Tools
You must use the Intel linking tools to link your application if the following conditions apply:
Your source files were compiled with multi-file IPO enabled. Multi-file IPO is enabled by specifying compiler option [Q]ipo.
You would normally invoke the GNU linker (ld) to link your application.
You would normally invoke the Microsoft linker (link.exe) to link your application.
Linker Options
The following table provides information on linking options.
Linking Tools Option |
Description |
---|---|
qdiag-[type]=[diag-list] |
Controls the display of diagnostic information. The type is an action to perform on diagnostics. Possible values are:
The diag-list is a diagnostic group or ID value. Possible values are:
NOTE:
Diagnostic messages generated by this option can be affected by other options, such as /arch (Windows), -m (Linux and macOS), or [Q]x. |
m32 (Linux), m64 (Linux and macOS) Qm32, Qm64 (Windows) |
[Q]m32 generates code for IA-32 architecture. Option -m32 is only available on Linux systems. [Q]m64 generates code for Intel® 64 architecture. For example, when your compilation environment is configured for Intel® 64 architecture, and you use [Q]m32 with the compiler, you also need to use qm32 on the linker command line to make sure the proper compilation target is set up for any IPO compilations or the final link. |