Sun Studio 12 Update 1: Fortran User's Guide

3.4.144 –xmodel=[small | kernel | medium]

(x86) Specify the data address model for shared objects on Solaris x64 platforms.

The -xmodel option enables the compiler to create 64- bit shared objects for the Solaris x64 platforms and should only be specified for the compilation of such objects.

This option is valid only when -m64 is specified on 64–bit enabled x86 platforms (“x64”).

small

This option generates code for the small model in which the virutal address of code executed is known at link time and all symbols are known to be located in the virtual addresses in the range from 0 to 231 – 224 - 1.

kernel

Generates code for the kernel model in which all symbols are defined to be in the range from 264 - 231 to 264 - 224.

medium

Generates code for the medium model in which no assumptions are made about the range of symbolic references to data sections. Size and address of the text section have the same limits as the small code model. Applications with large amounts of static data might require —xmodel=medium when compiling with —m64.

If you do not specify -xmodel, the compiler assumes -xmodel=small. Specifying -xmodel without an argument is an error.

It is not neccessary to compile all routines with this option as long as you an ensure that objects being accessed are within range.