|Linux Standard Base Specification for the Itanium™ Architecture 1.3|
|Prev||Appendix C. Build Environment||Next|
A conforming LSB Build Environment should provide a compiler capable of producing objects that conform to this standard.
Such a compiler should provide the following predefined symbols, pre-processor assertions, and compiler pragmas.
Table C-1. Pre-Defined Preprocessor Symbols
|__ia64||This symbol should be used when testing for the target architecture at compile time. The initial value shall be 1. Further information on the architecture can be determined from the ELF header flags.|
|_LP64||Value is defined as 1. The architecture supports 64 bit longs, long longs, and pointers. Integers are 32 bit.|
The gcc compiler currently pre-defines the symbol __LP64__, but not the symbol _LP64. The gcc team are aware of this deficiency.
Preprocessor assertions are deprecated, and conforming applications should not require any preprocessor assertion support. LSB Conforming Build Environments are not required to provide any predefined preprocessor assertions.
The Intel® Itanium ™ Processor-specific Application Binary Interface requires preprocessor assertion support. However, this feature is deprecated in some compilers (most notably gcc), and applications should not use it.
The Intel® Itanium ™ Processor-specific Application Binary Interface, chapter 7.2.3, defines a number of compiler pragmas specific to the Intel Itanium™ compiler. These pragmas are not required to be supported by other compilers.