Overview – Oracle Solaris 11 is a 64-bit only operating system which provides an environment to build and run 64-bit applications that can use large files and large virtual address spaces. To maintain backward compatibility, the 64-bit Oracle Solaris 11 operating system supports 32-bit applications.
The Oracle Solaris supports systems that use the SPARC and x86 families of processor architectures: UltraSPARC, SPARC64, AMD64, Pentium, and Xeon EM64T. For a list of all the supported systems, see Oracle Solaris Hardware Compatibility List.
The following lists the major differences between the 32-bit and the 64-bit application development environments:
32-bit applications are based on the ILP32 data model, where int, long, and pointers are 32-bit.
64-bit applications are based on the LP64 data model, where long and pointers are 64 bits and the other fundamental types are the same as in ILP32 data model.
In a 64-bit development environment, the large file interface is no longer required. The large file interface enables 32-bit programs to handle files that are larger than 2GB.
32-bit time_t can only handle dates up to January 2038. However 64-bit time_t can handle dates for billion years into the future.
You might want to convert your application from 32-bit to 64-bit if your application has one or more of the following requirements:
Needs more than 4 GB of virtual address space
Reads and interprets kernel memory through use of the libkvm library, and /dev/mem, or /dev/kmem files
Uses the /proc interface to debug 64-bit processes
Uses a library that has only a 64-bit version
Needs full 64-bit registers to do efficient 64-bit arithmetic
Uses dates beyond January 2038.
Specific interoperability issues can also require code changes. For example, if your application uses files that are larger than 2 GB, you might want to convert the application to 64-bit.
In some cases, you might want to convert applications to 64-bit for performance reasons. For example, you might need the 64-bit registers to perform efficient 64-bit calculations or you might want to take advantage of other performance improvements that a 64-bit instruction set provides.
Audience – Application developers who are converting 32-bit applications to 64-bit applications and are developing 64-bit applications on Oracle Solaris 11.
Required knowledge – Experience in developing applications in C and an understanding of 32-bit and 64-bit architecture.
Documentation and resources for this product and related products are available at http://www.oracle.com/pls/topic/lookup?ctx=E37838-01.
Provide feedback about this documentation at http://www.oracle.com/goto/docfeedback.