From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6385 invoked from network); 4 Aug 2020 18:56:57 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 4 Aug 2020 18:56:57 -0000 Received: (qmail 11766 invoked by uid 550); 4 Aug 2020 18:56:55 -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 Received: (qmail 11748 invoked from network); 4 Aug 2020 18:56:54 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1596567403; bh=5Rhreq6T07LVd3TRoQ1N0Tt4HmwdhVembZvF95lwyXw=; h=X-UI-Sender-Class:Date:From:To:Subject:References:In-Reply-To; b=YzsthWDfJBlpgkPeQqpStLr9eEfNxLVz9JMMDDlFGbyAk+vTL19tzhtirUFWWoKMR HLwZVnlcLklTlw0OFobmWUDNzTb2tcASBwzS5fWmMugILMnMc9HwbgsDv9WMkIUV3z QwO+U4pxSKCn/apBbbjpSXTIuZj3lor5tyJduoFo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Date: Tue, 4 Aug 2020 20:56:42 +0200 From: Markus Wichmann To: musl@lists.openwall.com Message-ID: <20200804185642.GG2076@voyager> References: <20200803133338.GB6949@brightrain.aerifal.cx> <20200803141513.GD6949@brightrain.aerifal.cx> <20200804181845.GI6949@brightrain.aerifal.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200804181845.GI6949@brightrain.aerifal.cx> User-Agent: Mutt/1.9.4 (2018-02-28) X-Provags-ID: V03:K1:EGsCVBZ9LDon/+0x6yXB5mUu2ZZx48UwmcNYqC09wouzTYLcHw/ sUKS3aOnLo3WUV3qViqHr5najhX/bqjVYpiIFMi/xZlhA3oKmckTiV87QJvFkVEn90M3kFL HADptIcWtSHUTnVa6oaW8DIHjinhjREyQz8ZmS4m5WZD2MOon0CQeerxMw9bC8ZuHzEb0Gl eA+8EiljEm+Wd4/l7uVgA== X-UI-Out-Filterresults: notjunk:1;V03:K0:U78Xo5WYl7o=:eFaENCAiQCuBevLe9YWT6E U/4+i9JhNxxWqvx4+rjxcrw3iexfUn4SXjC/Ss1gy0lPFond4I7PZMg4Pc3PKCYb5StY/H0Cf Pk7KgQkMFFOUAVk9/llsPqCJz0gHHvSPkOI8GzmfY24WKDCCXPYBq92ZFSwCvxVKApWZxJAKb /t1mlf5HbiJG+AlzTLKi2Lum3qdv6FSU8tjgyAO0B2UdE8mMiGrvaiS9h3jWPaRtH66oejY1V PoMLqqPUaY1a5c+b4pKJMnRU2iWcVkPdWQ8b4jN27HFwp8ugqB2i1mgRSGZ6u3Ki2UqH+LSqK mCGPoSi1bJ/ENtwNoEloSGbENrRWKe0rYkjFG9gb9j2eUrPsazqBhoT9Jnkfhyiy+ANHU/ZDM 15Ep9ZNmO6PYgXlymdeWPEV0N/5AbsoWw87B2jYAJ3qPyNJ28mYboz1NP4Gf9xGez8rCNkW7o nRoOp1c7mTSBClF9Kjysx/QM0odSdPRq/qSrSYPwcvrLUWsSczIhZbZuGEAfsOvM3wQ2BDDMP u2fP5oOMgRzVwtszSOpZeD4tLXY7k7904KcFeSKDyqpH74qHnv3+3dNxUWo3eoWHvw1pxVTk6 j88duG57R4K7at0zU5TYr/F+FsWjqBnwxzHKOTYKc1zzQgo+mZ8/NfdTJ1KqFFpi77xw3BmHu ze9HKeU0UQbiud+DXcFf6zyvF8FUZQrUeCwTecou+cKMm95pxlFx76ISeq1Jv0YNIAro4tyQH GLrzTkqT41vwVkU/Tav7BeWzdfhOVSwBSvRalo1u8ZeKQid83xdg8nPIrB+PSRX01xLIq9kNk GCEsZPpexC6kbHM1Ap1RB3/AOi/AYxciWJGdcWewS5zrY9VmPzVrg5gf/BV42Vp4VG8rRUCIJ 45oEWYsHfz/hPwXWspmG0Bss3wm5AvNKreuvfUpX74YLrS835s3IKzHRgNUMojzqOb+riy1o2 i8B+ixJRMpdZkqFC7GmPj+jwdv/JK6QtfLGsPTREwh1RwUYy+TElR0MJQXgyb8lNiRmIu7Xfh UzkG7wB1SoTvSpr9w45ZuRnnmVTJtlIcvzYvqhcnIeKICwI+XP8/CcwJW2zLoMWjmg3zmsbO2 4qxbZvKoBTHDI+uybSOnqbeAy/u+N2HgsuPAtsISwnOOI0kpzW16SW4mzCu4lcRu5mCaL/Mdd lWloVq8WM7XXUPB/wG2RRx3sZt94uz++JSwcxJAltK1N7U47rW38pM/GOmId4HWbIKEY1lRey jVffpOEatnQ1pIZeO Subject: Re: [musl] Add SYSCALL_USE_SOCKETCALL for old arch On Tue, Aug 04, 2020 at 02:18:45PM -0400, Rich Felker wrote: > Of these, only ppc, ppc64, sh, and possibly s390 (we only support > 64-bit "s390x" and I'm not sure if it ever lacked the broken-down > syscalls) are relevant. The rest are either unsupported by musl > (including pre-EABI arm) or already using SYS_socketcall. According to musl source, all currently supported architectures have __NR_socket (I didn't check the other calls; I just assumed that __NR_socket was a stand-in for all the other ones). Therefore the required change can be performed by changing the __socketcall macro (and __socketcall_cp of course). Something like this, maybe? (If using GCC statement expressions is alright): #ifdef __NR_socketcall #define __socketcall(nm, a, b, c, d, e, f) \ ({int r = __syscall(__NR_ ## nm, a, b, c, d, e, f); \ if (r == -ENOSYS) \ r = __syscall(__NR_socketcall, __SC_ ## nm, \ (long[6]){(long)a, (long) b, (long)c, (long)d, (long)e, (long) f}); r;}) #else #define __socketcall(nm, a, b, c, d, e, f) __syscall(__NR_ ## nm, a, b, c, d, e, f) #endif Ciao, Markus