From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE, MAILING_LIST_MULTI autolearn=no autolearn_force=no version=3.4.4 Received: from tb-ob1.topicbox.com (tb-ob1.topicbox.com [64.147.108.173]) by inbox.vuxu.org (Postfix) with ESMTP id 6C267213D9 for ; Sun, 29 Sep 2024 21:17:41 +0200 (CEST) Received: from tb-mx1.topicbox.com (tb-mx1.nyi.icgroup.com [10.90.30.61]) by tb-ob1.topicbox.com (Postfix) with ESMTP id 60434259BB for ; Sun, 29 Sep 2024 15:17:41 -0400 (EDT) (envelope-from bounce.mM97e4498022e542b5ef540560.r81958daa-7202-11ef-bbf2-18142b2d11b0@illumos.bounce.topicbox.com) Received: by tb-mx1.topicbox.com (Postfix, from userid 1132) id 5D70722AAB2D; Sun, 29 Sep 2024 15:17:41 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lists.illumos.org; h= from:to:subject:message-id:references:in-reply-to:date :mime-version:content-type:content-transfer-encoding:list-help :list-id:list-post:list-subscribe:reply-to:list-unsubscribe; s= dkim-1; t=1727637461; x=1727723861; bh=SrtysBQsDh7V0LpxDPCC7mBbC Irbyent/bU8bmN1wMs=; b=Hwr/QaiFRU9mRmtLwYk94gTzLu0KiRuyqrDd937b2 dpZ2yhlzRmwQI3W7h/aWKU2BuyWPAiahmYnNUnDg38do7TmbH70LdCmMxcHMqUbc F7EnlKvnAALp9njHDACgaSKUJJ2tBUvpUVRHmhw/+LlnmDeIPwahlMxOy2eSxEa9 gE= From: "Sad Clouds" To: illumos-discuss Subject: Re: [discuss] Binary compatibility between Illumos distributions Message-Id: <17276373860.b4251988.20418@composer.illumos.topicbox.com> References: <17275947840.7AEf7cFfe.949140@composer.illumos.topicbox.com> In-Reply-To: Date: Sun, 29 Sep 2024 15:16:26 -0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=17276373861.CE8E6.20418 Content-Transfer-Encoding: 7bit Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 52cab684-7e97-11ef-bf24-bad040decc0b Archived-At: =?UTF-8?B?PGh0dHBzOi8vaWxsdW1vcy50b3BpY2JveC5jb20vZ3JvdXBz?= =?UTF-8?B?L2Rpc2N1c3MvVGU2MTRkYmE1YzlkOTQ5YmEtTTk3ZTQ0OTgwMjJlNTQyYjVl?= =?UTF-8?B?ZjU0MDU2MD4=?= List-Help: List-Id: "illumos-discuss" List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: illumos-discuss List-Unsubscribe: , Topicbox-Delivery-ID: 2:illumos:a9ae1d0a-2aea-11e7-965f-d98f9f16e227:81958daa-7202-11ef-bbf2-18142b2d11b0:M97e4498022e542b5ef540560:1:THvkZEnhpNRmZjb9xj_TWjKEWkrSetFLrZBNSaBNUC0 --17276373861.CE8E6.20418 Date: Sun, 29 Sep 2024 15:16:26 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 majo= r version upgrade. To give you a specific example, some of the software I w= ork on is using thread affinity APIs to bind threads to specific CPUs. Sola= ris < 11.2 and Illumos only support processor_bind()which has a limitation = where a thread can be bound to only one CPU, where Solaris >=3D 11.2 also s= upports 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 ma= cros 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 parti= cular 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 re= lease their build was based on. For example, /etc/illumos-release file or s= omething 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 v= ersion probes one has to make. ------------------------------------------ illumos: illumos-discuss Permalink: https://illumos.topicbox.com/groups/discuss/Te614dba5c9d949ba-M9= 7e4498022e542b5ef540560 Delivery options: https://illumos.topicbox.com/groups/discuss/subscription --17276373861.CE8E6.20418 Date: Sun, 29 Sep 2024 15:16:26 -0400 MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
OK thanks for the info. Maybe ABI was the wron= g 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 exam= ple, some of the software I work on is using thread affinity APIs to bind t= hreads 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 >=3D 11.2 also supports processor_affinity() where a thr= ead 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 ma= kefile 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 vers= ions 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 exam= ple, /etc/illumos-release file or something similar. In the future, if Illu= mos 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.
= --17276373861.CE8E6.20418--