JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Solaris 64-bit Developer's Guide
search filter icon
search icon

Document Information

Preface

1.  64-bit Computing

2.  When to Use 64-bit

3.  Comparing 32-bit Interfaces and 64-bit Interfaces

Application Programming Interfaces

Application Binary Interfaces

Compatibility Between 32-bit Applications and 64-bit Applications

Application Binaries

Application Source Code

Device Drivers

Which Solaris Operating Environment Are You Running?

4.  Converting Applications

5.  The Development Environment

6.  Advanced Topics

A.  Changes in Derived Types

B.  Frequently Asked Questions (FAQs)

Index

Compatibility Between 32-bit Applications and 64–bit Applications

The following sections discuss the different levels of compatibility between 32-bit applications and 64-bit applications.

Application Binaries

Existing 32-bit applications can run on either 32-bit or 64-bit operating environments. The only exceptions are those applications that use libkvm, /dev/mem, /dev/kmem, or /proc. See Getting Past the 4 Gigabyte Barrier for more information.

Application Source Code

Source level compatibility has been maintained for 32-bit applications. For 64-bit applications, the principal changes that have been made are with respect to the derived types used in the application programming interface. Applications that use the derived types and interfaces correctly are source compatible for 32-bit, and make the transition to 64-bit more easily.

Device Drivers

Because 32-bit device drivers cannot be used with the 64-bit operating system, these drivers must be recompiled as 64-bit objects. Moreover, the 64-bit drivers need to support both 32-bit applications and 64-bit applications. All drivers supplied with the 64-bit operating environment support both 32-bit applications and 64-bit applications. However, the fundamental driver model and the interfaces supported by the DDI do not change. The principal work is to clean up the code to be correct in an LP64 environment. See the Writing Device Drivers manual for more information.