OK thanks for the info. Maybe ABI was the wrong word to use, I guess I was referring to a mixture of ABI and API changes that may occur during OS major version upgrade. To give you a specific example, some of the software I work on is using thread affinity APIs to bind threads to specific CPUs. Solaris < 11.2 and Illumos only support processor_bind()which has a limitation where a thread can be bound to only one CPU, where Solaris >= 11.2 also supports processor_affinity() where a thread can be bound to multiple CPUs. I quite dislike GNU autoconf scripts and tend to extract OS name and major/minor version via uname commands in a makefile and then expose various C macros to work around API differences. So for OS name, Illumos reports SUNOS which is good, but then major/minor versions could be anything that a particular distro decided to use. Since they all fork their OS code from Illumos, I was looking for some common version number to identify which Illumos release their build was based on. For example, /etc/illumos-release file or something similar. In the future, if Illumos happens to implement processor_affinity() or some other new feature, it can cut down on the number of OS version probes one has to make. ------------------------------------------ illumos: illumos-discuss Permalink: https://illumos.topicbox.com/groups/discuss/Te614dba5c9d949ba-M97e4498022e542b5ef540560 Delivery options: https://illumos.topicbox.com/groups/discuss/subscription