From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 39376 invoked by alias); 7 Nov 2016 11:28:27 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 39327 invoked by uid 89); 7 Nov 2016 11:28:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.3 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM autolearn=no version=3.3.2 spammy=Wednesday, wednesday, H*r:0100, HX-Provags-ID:V03 X-HELO: mout.kundenserver.de From: Arnd Bergmann To: libc-alpha@sourceware.org Cc: Adhemerval Zanella Subject: Re: [PATCH v2 01/16] Add __ASSUME_SYSVIPC_SYSCALL for Linux Date: Mon, 07 Nov 2016 11:28:00 -0000 Message-ID: <3237762.biBvPUTa3n@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-34-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: <1478114813-3526-2-git-send-email-adhemerval.zanella@linaro.org> References: <1478114813-3526-1-git-send-email-adhemerval.zanella@linaro.org> <1478114813-3526-2-git-send-email-adhemerval.zanella@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-UI-Out-Filterresults: notjunk:1;V01:K0:B0nwVOBMigc=:J18FejQ1hhrGGrZTWuDw1v 0NTVPQRZaqFkKVROUOxTNFTsz/lf38pbN9NOz+QaUi0ZOJbq9JXuEXIzJCFk/0EMVthP4K1u+ 0IfdjN1Ao72hO0uPftA2zwrrAvsSTYnTZ3hhLTi9yZgmeVsHqn/5qyDuCtVqX1Axa1PaXktxo 8A4WYU/aUlTLkw/NelXQzAgnI7GOYvOVFTz423UIFVOf+MBhNtljj/GYudYj6n9cSvXzidUMX Ux4y9Ou+cyga2RJUaSMy/jUBD608LA0AayZS9AG/9TXfUIbiEOTI908s0hJu3haHdlC6coS/K ozh+2ycCK1OcEW/x8VtH/p6G1MwJ7NBvRfaSfwM/fO2MBWoTs+NhxYav0aXMU5k60cdGwWJtf 8r4VumTmeOihggeFFeuNvP5vcCMmEjN/VORo64lNktZH64FqU9US7ar9Fy3TtJDynv0DxiJwx RqMVUB3bB10N3fHGHjIOOqnILFRDl+Sei9GMkz4LtxTeBmxYtdrlmB0MFMuwxIaiQsYbMk+Pj m+uK+iSmUMUEo1KHNU5Rh9s6uoGGJ/u/8qLNyH6ThbDWC+VOyOdLpVS43oA3LVydLouX3/Ksd 5KhQdddFU/f+K+Ddz54M+LrwOzRfsfG64Gfp57/JtgN48oznUU1ZsIfI32G/7CDuNqIw+S/3f dDVpBwjLzAbMPEzti0/SjQJPgNbH+HoGQzCMfM+dqUXkIYZ44uHzrrl+bh1B/h+kC6KZxaEvQ 0FEZ9k5kqa9GqsEJ X-SW-Source: 2016-11/txt/msg00229.txt.bz2 On Wednesday, November 2, 2016 5:26:38 PM CET Adhemerval Zanella wrote: > The architectures that only supports ipc syscall are: > - i386, m68k, microblaze, mips32, powerpc (powerpc32, powerpc64, and > powerpc64le), s390 (32 and 64 bits), sh, sparc32, and sparc64. If you want to mention the architectures not supported by glibc, this also includes cris, frv, m32r, and mn10300 > And the architectures that only supports wired syscalls are: > - aarch64, alpha, hppa, ia64, mips64, mips64n32, nios2, tile > (tilepro, tilegx, and tilegx64), and x86_64 similarly, this also includes arc, avr32, blackfin, c6x, h8300, hexagon, metag, openrisc, score, unicore32, and xtensa > Also arm is the only one that supports both wire syscalls and the > ipc, although the ipc one is deprecated. AFAICT, ipc syscall on ARM is only defined for OABI, which glibc no longer has. >From the kernel sources, I also see sh64 and microblaze define both __NR_ipc and the individual numbers, although microblaze returns -ENOSYS for ipc(). > This patch adds a new define, __ASSUME_SYSVIPC_SYSCALL, that wired > syscalls are supported on the system and the general idea is to use > it where possible. We might add the individual syscalls on all architectures at some point in the kernel, including the ones that currently use the combined ipc call. A patch series for this has been discussed in the past, but I think we never fully resolved the handling of the IPC_64 flag, so it did not get merged so far. With your current approach, this won't cause problems as architectures that don't have the individual calls with old kernel versions will still use the ipc() wrapper in the kernel. Arnd