The binary compatibility packages work with well-behaved user applications. Applications that are not well-behaved can produce unpredictable results, and it is not recommended that the binary compatibility packages be used with these applications. Well-behaved applications are either statically or dynamically linked and meet the following requirements:
Do not make any traps directly to the kernel
Do not write directly to any system files
Do not use /dev/kmem, /dev/mem, or libkvm
Do not use unpublished SunOS interfaces
Do not rely on customer-supplied drivers
Do not rely on knowledge of the SPARC architecture
The contents of /dev/kmem and /dev/mem are release specific. Programs using /dev/kmem and /dev/mem are tied to a specific version of the operating system. Maintaining compatibility is not possible. Using /dev/kmem, /dev/mem, or libkvm routines in an application makes it non-portable.