SPARC: Specifies the code address space.
a must be one of the following:
Value of a |
Meaning |
---|---|
abs32
|
Generates 32-bit absolute addresses, which are fast, but have limited range. Code + data + bss size is limited to 2**32 bytes. |
abs44
|
SPARC: Generates 44-bit absolute addresses, which have moderate speed and moderate range. Code + data + bss size is limited to 2**44 bytes. Available only on 64-bit architectures: -xarch=(v9|v9a) |
abs64
|
SPARC: Generates 64-bit absolute addresses, which are slow, but have full range. Available only on 64-bit architectures: -xarch=(v9|v9a) |
pic13
|
Generates position-independent code (small model), which is fast, but has limited range. Equivalent to -Kpic. Permits references to at most 2**11 unique external symbols on 32-bit architectures; 2**10 on 64-bit. |
pic32
|
Generates position-independent code (large model), which is slow, but has full range. Equivalent to -KPIC. Permits references to at most 2**30 unique external symbols on 32-bit architectures; 2**29 on 64-bit. |
For SPARC V8 and V7 processors, the default is -xcode=abs32.
For SPARC and UltraSPARC processors (with -xarch=(v9|v9a)), the default is -xcode=abs64.
When building shared dynamic libraries with -xarch=v9 or -xarch=v9a using 64-bit Solaris 7 software, the -xcode=pic13 or -xcode=pic32 (or -pic or -PIC) option must be specified.