public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: [PATCH 00/15] Consolidate Linux sysvipc implementation
Date: Tue, 01 Nov 2016 14:25:00 -0000	[thread overview]
Message-ID: <1478010323-13076-1-git-send-email-adhemerval.zanella@linaro.org> (raw)

Hi all,

Theis patchset is a continuation of my Linux syscall consolidation
implementation and aimed for SySV IPC (message queue, semaphore,
and shared memory).

Current Linux default implementation only defines the old ipc
syscall method.  Architectures need to either to imply the generic
syscalls.list or reimplement the syscall definition.  To simplify
and allow to remove some old arch-specific implementation, I added
the direct syscall method for all supported IPC mechanisms.

Other changes are simple code reorganization to simplify and all
compatibility required for various ports.

The patchset also adds 3 simple tests that aims to check for correct
argument passing on syscall.  The idea is not to be an extensive
testing of all supported IPC.

Checked on x86_64, i686, armhf, aarch64, and powerpc64le.

Adhemerval Zanella (15):
  Consolidate Linux msgctl implementation
  Consolidate Linux msgrcv implementation
  Use msgsnd syscall for Linux implementation
  Use msgget syscall for Linux implementation
  Add SYSV message queue test
  Consolidate Linux semctl implementation
  Use semget syscall for Linux implementation
  Use semop syscall for Linux implementation
  Consolidate Linux semtimedop implementation
  Add SYSV semaphore test
  Use shmat syscall for Linux implementation
  Consolidate Linux shmctl implementation
  Use shmdt syscall for linux implementation
  Use shmget syscall for linux implementation
  Add SYSV shared memory test

 ChangeLog                                      |  68 +++++++++++++
 sysdeps/unix/sysv/linux/alpha/msgctl.c         |   1 -
 sysdeps/unix/sysv/linux/alpha/semctl.c         |   1 -
 sysdeps/unix/sysv/linux/alpha/shmctl.c         |   1 -
 sysdeps/unix/sysv/linux/arm/msgctl.c           |  33 -------
 sysdeps/unix/sysv/linux/arm/semctl.c           |  54 ----------
 sysdeps/unix/sysv/linux/arm/shmctl.c           |  34 -------
 sysdeps/unix/sysv/linux/m68k/semtimedop.S      |  69 -------------
 sysdeps/unix/sysv/linux/microblaze/msgctl.c    |   1 -
 sysdeps/unix/sysv/linux/microblaze/semctl.c    |   1 -
 sysdeps/unix/sysv/linux/microblaze/shmctl.c    |   1 -
 sysdeps/unix/sysv/linux/mips/mips64/msgctl.c   |  17 +---
 sysdeps/unix/sysv/linux/mips/mips64/semctl.c   |  38 +-------
 sysdeps/unix/sysv/linux/mips/mips64/shmctl.c   |  17 +---
 sysdeps/unix/sysv/linux/msgctl.c               |  42 ++++----
 sysdeps/unix/sysv/linux/msgget.c               |  11 ++-
 sysdeps/unix/sysv/linux/msgrcv.c               |  25 ++---
 sysdeps/unix/sysv/linux/msgsnd.c               |   7 +-
 sysdeps/unix/sysv/linux/s390/semtimedop.c      |  12 ++-
 sysdeps/unix/sysv/linux/semctl.c               |  54 +++++-----
 sysdeps/unix/sysv/linux/semget.c               |  11 ++-
 sysdeps/unix/sysv/linux/semop.c                |  10 +-
 sysdeps/unix/sysv/linux/semtimedop.c           |  13 +--
 sysdeps/unix/sysv/linux/shmat.c                |  17 ++--
 sysdeps/unix/sysv/linux/shmctl.c               |  56 +++++------
 sysdeps/unix/sysv/linux/shmdt.c                |  12 ++-
 sysdeps/unix/sysv/linux/shmget.c               |  13 +--
 sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c |  32 ------
 sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c |  54 ----------
 sysvipc/Makefile                               |   2 +
 sysvipc/test-sysvmsg.c                         | 123 +++++++++++++++++++++++
 sysvipc/test-sysvsem.c                         | 115 ++++++++++++++++++++++
 sysvipc/test-sysvshm.c                         | 130 +++++++++++++++++++++++++
 test-skeleton.c                                |   2 +
 34 files changed, 583 insertions(+), 494 deletions(-)
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/msgctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/semctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/shmctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/arm/msgctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/arm/semctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/arm/shmctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/m68k/semtimedop.S
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/msgctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/semctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/shmctl.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
 create mode 100644 sysvipc/test-sysvmsg.c
 create mode 100644 sysvipc/test-sysvsem.c
 create mode 100644 sysvipc/test-sysvshm.c

-- 
2.7.4

             reply	other threads:[~2016-11-01 14:25 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-01 14:25 Adhemerval Zanella [this message]
2016-11-01 14:25 ` [PATCH 12/15] Consolidate Linux shmctl implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 11/15] Use shmat syscall for Linux implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 02/15] Consolidate Linux msgrcv implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 13/15] Use shmdt syscall for linux implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 10/15] Add SYSV semaphore test Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 07/15] Use semget syscall for Linux implementation Adhemerval Zanella
2016-11-01 15:34   ` Andreas Schwab
2016-11-01 16:41     ` Joseph Myers
2016-11-01 17:17       ` Adhemerval Zanella
2016-11-01 17:28         ` Zack Weinberg
2016-11-01 17:35         ` Joseph Myers
2016-11-01 14:25 ` [PATCH 03/15] Use msgsnd " Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 14/15] Use shmget syscall for linux implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 01/15] Consolidate Linux msgctl implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 09/15] Consolidate Linux semtimedop implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 15/15] Add SYSV shared memory test Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 06/15] Consolidate Linux semctl implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 04/15] Use msgget syscall for Linux implementation Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 08/15] Use semop " Adhemerval Zanella
2016-11-01 14:25 ` [PATCH 05/15] Add SYSV message queue test 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=1478010323-13076-1-git-send-email-adhemerval.zanella@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=libc-alpha@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: link
Be 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).