A shared object file holds code and data suitable for linking in two contexts. First, the link editor may process it with other relocatable and shared object files to create another object file . Second, the dynamic linker combines it with an executable file and other shared objects to create a process image.