Compilation Options

You can monitor and modify the compilation process with the following options:

IA-32 and Itanium(TM)-based applications

-c

Compile to object only (.o), do not link.

-Kpic, -KPIC

Generate position-independent code.

-nobss_init

Disables placement of zero-initialized variables in BSS (using Data).

-p

Compile and link for function profiling with UNIX prof tool.

-S

Produce assembly file named file.asm with optional code or source annotations.

-sox[-]

Enable (default) or disable saving of compiler options and version in the executable.

-Tffile

Compile file as Fortran source.

-Zp{n}

Specifies alignment constraint for structures on n-byte boundary (n = 1, 2, 4, 8, 16).

The -Zp16 option enables you to align Fortran structures such as common blocks. For Fortran structures, see STRUCTURE statement in Chapter 10 of IntelŪ Fortran Programmer's Language Reference Manual.

IA-32 applications only

-0f_check

Avoiding incorrect decoding of some 0f instructions.

-fdiv_check

Enable or disable the patch for the PentiumŪ processor FDIV erratum.

-fp

Disables using ebp as general purpose register (no frame pointer).

-use_asm

Generates an assembly file and tells the assembler to generate the object file.

-use_msasm

Support Microsoft style assembly language insertion using MASM format style and syntax and if requested, output assembly in MASM format.

Itanium-based applications only

-fr32

Disable the use of high floating-point registers.

Limiting Register Usage (Itanium(TM)-based Applications Only)

Use -fr32 to disable usage of only the lower 32 floating point registers. The following syntax disables usage of only the lower 32 floating-point registers:

prompt> efc -fr32 a.f

    Note
With Itanium Fortran Compiler, you cannot use 32-bit pointers.

Saving Compiler Version and Options Information, -sox

You save the compiler version and options information in the executable with -sox. The -sox option is enabled by default, which forces the compiler to embed in each object file a string that contains information on the compiler version and compilation options for each source file that has been compiled.

When you link the object files into an executable file, the linker places each of the information strings into the header of the executable. It is then possible to use a tool, such as a strings utility, to determine what options were used to build the executable file.

The size of the executable on disk is increased slightly by the inclusion of these information strings. If this is a concern, you can specify -sox- to disable this feature.

Note that for Itanium(TM)-based applications, the -sox option is accepted for compatibility, but it does not have any effect.