public inbox for glibc-cvs@sourceware.org help / color / mirror / Atom feed
From: Adhemerval Zanella <azanella@sourceware.org> To: glibc-cvs@sourceware.org Subject: [glibc] Deleted branch azanella/bz18231 Date: Fri, 11 Oct 2019 19:22:00 -0000 [thread overview] Message-ID: <20191011192259.34998.qmail@sourceware.org> (raw) The branch 'azanella/bz18231' was deleted. It previously pointed to: 04e2969... sysvipc: Set ipc_perm mode as mode_t (BZ#18231) Diff: !!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST): ------------------------------------------------------------------- 04e2969... sysvipc: Set ipc_perm mode as mode_t (BZ#18231) bb6cb29... sh: Split BE/LE abilist ee038ec... microblaze: Split BE/LE abilist 95e0e53... arm: Split BE/LE abilist commit 04e29690214c72cf7a55e6f4a46e044502d2350a Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Mon Jul 22 12:36:09 2019 +0000 sysvipc: Set ipc_perm mode as mode_t (BZ#18231) This patch sets the mode field in ipc_perm as mode_t for all architectures, as POSIX specification [1]. The changes required are as follow: 1. It moves the ipc_perm definition out of ipc.h to its own header ipc_perm.h. It also allows consolidate the IPC_* definition on only one header. 2. The generic implementation follow the kernel ipc64_perm size so the syscall can be made directly without temporary buffer copy. However, since glibc defines the MODE field as mode_t, it omits the __PAD1 field (since glibc does not export mode_t as 16-bit for any architecture). It is a two-fold improvement: 2.1. New implementation which follow Linux UAPI will not need to provide an arch-specific ipc-perm.h header neither wrongly use the wrong 16-bit definition from previous default ipc.h (as csky did). 2.1. It allows consolidate ipc_perm definition for architectures that already provide mode_t as 32-bit. 3. All kernel ABIs for the supported architectures already provides the expected padding for mode type extension to 32-bit. However, some architectures the padding has the wrong placement, so it requires the ipc control routines (msgctl, semctl, and shmctl) to adjust the mode field accordingly. Currently they are armeb, microblaze, m68k, s390, and sheb. A new assume is added, __ASSUME_SYSVIPC_SUPPORT_MODE32, which the required architecture undefine. 4. For the architecture that undefined __ASSUME_SYSVIPC_SUPPORT_MODE32, it also requires compat symbols that do not adjust the mode field. Checked on arm-linux-gnueabihf, aarch64-linux-gnu, powerpc64le-linux-gnu, and x86_64-linux-gnu. I also checked the sysvipc tests on hppa-linux-gnu, sh4-linux-gnu, s390x-linux-gnu, and s390-linux-gnu. [BZ #18231] * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/ipc-perm.h. * sysdeps/unix/sysv/linux/aarch64/bits/ipc.h: Remove file. * sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/hppa/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/ipc.h: Likewise. * sysdeps/unix/sysv/linux/arm/kernel-features.h [__BYTE_ORDER == __BIG_ENDIAN] (__ASSUME_SYSVIPC_SUPPORT_MODE32): Undefine. * sysdeps/sysv/linux/microblaze/kernel-features.h: Likewise. * sysdeps/unix/sysv/linux/s390/kernel-features.h [!__s390x__] (__ASSUME_SYSVIPC_SUPPORT_MODE32): Define. * sysdeps/unix/sysv/linux/sh/kernel-features.h (__ASSUME_SYSVIPC_SUPPORT_MODE32): Define. * sysdeps/unix/sysv/linux/m68k/kernel-features.h: Likewise. * sysdeps/unix/sysv/linux/bits/ipc-perm.h: New file. * sysdeps/unix/sysv/linux/powerpc/bits/ipc-perm.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/ipc-perm.h: Likewise. * sysdeps/unix/sysv/linux/bits/ipc.h (ipc_perm): Move to bits/ipc-perm.h. * sysdeps/unix/sysv/linux/hppa/bits/ipc-perm.h: New file. * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_SYSVIPC_SUPPORT_MODE32): Define. * sysdeps/unix/sysv/linux/msgctl.c (DEFAULT_VERSION): Define as 2.30 if __ASSUME_SYSVIPC_SUPPORT_MODE32 is not defined. (msgctl_syscall, __msgctl_mode16): New symbol. (__new_msgctl): Handle if __ASSUME_SYSVIPC_SUPPORT_MODE32 is not defined. * sysdeps/unix/sysv/linux/semctl.c: Likewise. * sysdeps/unix/sysv/linux/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/arm/be/libc.abilist (GLIBC_2.30): Add msgctl, semctl, and shmctl. * sysdeps/sysv/linux/microblaze/be/libc.abilist: Likewise. * conform/data/sys/ipc.h-data: Only xfail {struct ipc_perm} mode_t mode for Hurd. * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/be/libc.abilist: Likewise. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_ipc.h.html commit bb6cb29f8ed7efc0897612918ea2d7382f9dab4e Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Tue Jul 23 17:25:57 2019 -0300 sh: Split BE/LE abilist The fix for BZ#18231 requires new symbols only for sh4eb. This patch adds the required folder and files for both BE and LE abilist. No semantic changes are expected. Checked with check-abi for sh4eb-linux-gnu and sh4-linux-gnu. * sysdeps/sh/preconfigure.ac: New file. * sysdeps/sh/preconfigure: Regenerate. * sysdeps/sh/be/sh3/Implies: New file. * sysdeps/sh/be/sh4/Implies: Likewise. * sysdeps/sh/le/sh3/Implies: Likewise. * sysdeps/sh/le/sh4/Implies: Likewise. * sysdeps/unix/sysv/linux/sh/le/sh3/Implies: Likewise. * sysdeps/unix/sysv/linux/sh/le/sh4/Implies: Likewise. * sysdeps/unix/sysv/linux/sh/*.abilist: Move to sysdeps/unix/sysv/linux/sh/le/*.abilist. * sysdeps/unix/sysv/linux/sh/be/*.abilist: New files. commit ee038ecc0fe74a30fccf9fdcdbacb9d69fe750a3 Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Tue Jul 23 14:48:56 2019 -0300 microblaze: Split BE/LE abilist The fix for BZ#18231 requires new symbols only for microblaze. This patch adds the required folder and files for both BE and LE abilist. No semantic changes are expected. Checked with check-abi for microblaze-linux-gnueabihf and microblazeel-linux-gnueabihf. * sysdeps/microblaze/preconfigure.ac: New file. * sysdeps/microblaze/preconfigure: Regenerate. * sysdeps/microblaze/be/implies: New file. * sysdeps/microblaze/le/implies: Likewise. * sysdeps/unix/sysv/linux/microblaze/be/implies: Likewise. * sysdeps/unix/sysv/linux/microblaze/le/implies: Likewise. * sysdeps/unix/sysv/linux/microblaze/*.abilist. Move to sysdeps/unix/sysv/linux/microblaze/be/*.abilist. * sysdeps/unix/sysv/linux/microblaze/le/*.abilist: New files. commit 95e0e53d3d625c19d6cc5c1d3c1cc5c17ca06d21 Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> Date: Tue Jul 23 14:26:49 2019 -0300 arm: Split BE/LE abilist The fix for BZ#18231 requires new symbols only for armeb. This patch adds the required folder and files for both BE and LE abilist. No semantic changes are expected. Checked with check-abi for arm-linux-gnueabihf and armeb-linux-gnueabihf. * sysdeps/arm/preconfigure.ac: Set machine based on endianness. * sysdeps/arm/preconfigure: Regenerate. * sysdeps/arm/be/Implies: New file. * sysdeps/arm/be/armv6/Implies: Likewise. * sysdeps/arm/be/armv6t2/Implies: Likewise. * sysdeps/arm/be/armv7/Implies: Likewise. * sysdeps/arm/le/Implies: Likewise. * sysdeps/unix/sysv/linux/arm/be/Implies: Likewise. * sysdeps/unix/sysv/linux/arm/le/Implies: Likewise. * sysdeps/unix/sysv/linux/arm/*.abilist: Move to sysdeps/unix/sysv/linux/arm/le/*.abilist. * sysdeps/unix/sysv/linux/arm/be/l*.abilist: New files.
next reply other threads:[~2019-10-11 19:22 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-11 19:22 Adhemerval Zanella [this message] -- strict thread matches above, loose matches on Subject: below -- 2019-08-28 13:58 Adhemerval Zanella 2019-07-30 20:30 Adhemerval Zanella
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191011192259.34998.qmail@sourceware.org \ --to=azanella@sourceware.org \ --cc=glibc-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).