Go to main content

Oracle® Solaris 64-bit Developer's Guide

Exit Print View

Updated: March 2019
 
 

2.2 Interoperability Issues

The interoperability issues that require an application to be made 64-bit safe or changed to interoperate with both 32-bit and 64-bit programs can include:

  • Client and server transfers

  • Programs that manipulate persistent data

  • Shared memory

2.2.1 Kernel Memory Readers

Because the kernel is an LP64 object that uses 64-bit data structures internally, existing 32-bit applications that use libkvm, /dev/mem, or /dev/kmem do not work properly and must be converted to 64-bit applications.

2.2.2 /proc Restrictions

A 32-bit program that uses /proc is able to look at 32-bit processes, but cannot understand all attributes of a 64-bit process. The existing interfaces and data structures that describe the process are not large enough to contain the 64-bit values. Such programs must be recompiled as 64-bit programs in order to work with both 32-bit processes and 64-bit processes. The ability to work with both 32-bit processes and 64-bit processes is most typically a problem for debuggers.

2.2.3 64-bit Libraries

32-bit applications are linked to 32-bit libraries, and 64-bit applications are linked to 64-bit libraries. With the exception of those libraries that have become obsolete, all of the system libraries are provided in both 32-bit versions and 64-bit versions.