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.4 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.4 Received: from second.openwall.net (second.openwall.net [193.110.157.125]) by inbox.vuxu.org (Postfix) with SMTP id A10D82DFE0 for ; Fri, 25 Oct 2024 22:01:57 +0200 (CEST) Received: (qmail 1236 invoked by uid 550); 25 Oct 2024 20:01:51 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com x-ms-reactions: disallow Received: (qmail 1201 invoked from network); 25 Oct 2024 20:01:51 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm2; t=1729886503; x=1729972903; bh=9LX1DXsev5KmgnB5FFtrXY/jt9CU/P1e fmk3m/lDQAo=; b=aTNNXKDCfrpSAcMAk++6jYAUwNu8Sx4q2yL2N0vAdIukNU9t ZcDFhjOHcHXThqO3S9OkkqQJM3MMmkaX8tpWa6EHDqmylRhlapKxegpJx3xJycHT rNC+E7eI49aWXv1Z5mHXahTvQ9kaQw0pjr/ot4hSCAYwSLQ4xIaDdt1zSrb5gXVA 7Kwdv4JJO/U0RFww3ggsypN0TsyDKekyTS9WVw3IKPXQJKbGAz8wAUH74VJy/TwW 18Kj2OCV7lptgUjWY+nph+R8UCbHbwjTyyLmiqB1zUvx/VThRTQrNoVdPgPWjJrT p8mah9R4d1JLoklrn9gKlXgjWwJeArAZePmlgQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1729886503; x=1729972903; bh=9LX1DXsev5KmgnB5FFtrXY/jt9CU/P1efmk 3m/lDQAo=; b=ILbPj0Et1MPX6q2I2RYlnoeLJQ8FsgBX+hmp4oCsaMO00DBqrtM mkfpi9/2FHdYBLY+/FKDSScr/7HeuGI+fRcCoxGC+BuueybcmKxmpZpgQT+OdUyb IsmWCxQJ5ZdLiJltUC63FFlA0o77TuVeACpgNe9HDzKaE4sQTschykRYZxW13WG0 vLVb9BZ30FsIku2U4fYlHLRhdidy6B+CkQbTtlioGHgWGeSRWX7+wgPOYtlgu+Dm VycAMD4Qq5GTOWMbr9XczsIqM+6CksnhWMe9Kdqta/Ect4JButL1rcltzIiCUO56 rBpk2xk0Gky6HiXlfSgd5zNEbyAysl8gOVQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvdejvddgudeggecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhephffvuf ffkfggtgesghdtreertddtjeenucfhrhhomheptehlhihsshgrucftohhsshcuoehhihes rghlhihsshgrrdhisheqnecuggftrfgrthhtvghrnheptdethfeiteejteffveejheeive ehhffhtdfggeejteeuheeujeejgeeuheduvedvnecuvehluhhsthgvrhfuihiivgeptden ucfrrghrrghmpehmrghilhhfrhhomhephhhisegrlhihshhsrgdrihhspdhnsggprhgtph htthhopedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehmuhhslheslhhishht shdrohhpvghnfigrlhhlrdgtohhm X-ME-Proxy: Feedback-ID: i12284293:Fastmail From: Alyssa Ross To: musl@lists.openwall.com Date: Fri, 25 Oct 2024 22:01:37 +0200 Message-ID: <878quc7xzy.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Subject: [musl] Prototypes without implementations --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable includes prototypes for iopl() and ioperm(), but not all architectures provide implementations, because the implementation is conditionally compiled only if SYS_ioperm is defined. This means that on aarch64, musl is providing prototypes without implementations, which is very surprising to me. musl provides these prototypes unconditionally since commit 0004ea613ac310daaee30c167112d796db33fa70: > fix breakage from introducing bits header for sys/io.h >=20 > apparently some other archs have sys/io.h and should not break just > because they don't have the x86 port io functions. provide a blank > bits/io.h everywhere for now. Glibc only provides on alpha, ia64, i386, x86_64, of which musl supports only the latter two. It used to provide it on arm as well, with stub implementations (ioperm() returning ENOSYS, inb returning 0, =E2=80=A6), but the header was dropped in Glibc 2.30. Linux (= as of v6.11) has an ioperm syscall on x86, microblaze, mips, and powerpc, but on everything but x86, it's just a stub that returns ENOSYS. Some code in the wild I have found expects that it can use the existence of as a proxy for being able to use inb/outb, etc. Would it make sense for musl to match the Glibc behaviour of only providing sys/io.h on i386 and x86_64? Regardless, I think that the presense of unimplemented prototypes ought to be fixed somehow. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEH9wgcxqlHM/ARR3h+dvtSFmyccAFAmcb+SEACgkQ+dvtSFmy ccB6uQ/9FHIGisUpSQb4UELYVnOVWyzoI/vW5yhh+D8TtsvFhSprnK5X7ce4Ef5H NdTPXn08y0OjBMV4fPZD4UxYVk4QHTQSkiOG4T1PJll5yYWCJd64b7i9ZHcWDauT DkOvqE9ghhpMaaYEvbHEtL/BA7PfcW7jq3/buHkkaEb980ou1BU4MexkP/KI/cwM 1aTN8fHNcEN0UJcTfhmFXEhjRtqDZzYgvUfCQp6rY0xwmpLGcPDaa93VOTEa/XTY tlTJv5Tj9HAIndES1x64fcJDoX3DKjNwhHjTB6M4YuYAXhHMMFpLik96V+d0Rumr skOBdLoFbLi34Jx1nnvC9mbck69czF5pZS/H8UG5XJqlkw4A+v2Y8Ba7UCGVdae9 /o+5KKo/MS1TKI/KBBb6edK4q+1AQOmVo4SZZ6r5L0AgvTmd7uMNSmLeorVHYgK9 SD47BOrl7VgygwqWK/o6P5dOggC3IE2GFrur2C53jL+cdVSUC2JbPVpZAQj2hYYm CcxDwsdBPbLl4tUKezo4BLRVqOD55EUJV5fKb6oOmmLVIZ0M1Q4iJGX/8YzVWT7J O8a8nHFFqdqyXRJwdNa4SfZDYfsSLEn6kkw6x7neMqBK39NVEti+jeX63KqezC13 9Fir4bjcv5JWIKZPRDPFwayXyuEsuGJblcE/aKnEHforhjPlvQY= =8auF -----END PGP SIGNATURE----- --=-=-=--