Binary Compatibility Guide

Object and core File Formats

The SunOS 4.x release uses the a.out object file format. The Solaris 2.x release uses the new Extensible Linking Format (ELF). Solaris 2.x programming tools (such as cc, ld, and ar) generate ELF files, and the default exec file format is ELF.

The Solaris 2.x exec identifies the executable file format (a.out or ELF) and uses the proper loading scheme.

The default core file format in SunOS 4.x is a.out and in the Solaris 2.x release it is ELF. When executing an a.out file in this release using the Binary Compatibility Package, the core files generated will be in a.out format. The compatibility mechanism is triggered only when loading and executing files with a.out binary format.

SunOS 4.x programs expecting an a.out executable file or core format will not work on files with other formats. For example, an application (such as the SunOS 4.x nm(1) command) expecting to access a file with the a.out format will not work when the file is in ELF format.

Programming tools and utilities in the Solaris 2.x release will not work as expected on binaries and core files in a.out format.