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