System Object Model (file format)

In particular, SOM is the native format used for 32-bit application executables, object code, and shared libraries running under the PA-RISC family of processors.

With the introduction of 64-bit processors, Hewlett Packard adopted the Executable and Linkable Format (ELF) format to represent the wider 64-bit program code, while still using SOM for applications running in 32-bit mode.

Later, with the introduction of the Itanium processor family, HP-UX has abandoned the SOM format in favor of ELF for both 32-bit and 64-bit application code.

A SOM file consists of a fixed-size header record followed by a number of sections, some of which are optional.

Except for the header the other sections may appear anywhere in the file, although the typical layout of a SOM file (assuming all sections are present) is as follows: Numeric fields are stored in big endian byte order, the native byte order of the PA-RISC, with most being 32-bit wide.