From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: [PATCH v2 00/14] Remove sysdep-cancel assembly macro
Date: Thu, 03 Aug 2017 13:11:00 -0000 [thread overview]
Message-ID: <1501765874-6201-1-git-send-email-adhemerval.zanella@linaro.org> (raw)
Change from previous version [1]
* Optimize the loader build for open, read, write, openat, and close
calls to alias the default variant to no cancel one since for rtld
object they are essentially the same (SYSCALL_CANCEL ends up
always calling INLINE_SYSCALL_CALL).
* Use the same convention for no status variant (for instance
__close_nocancel_nostatus) and change its return to void.
* Cleanup non cancellable pause sligt more: removed __pause_nocancel
declaration from unistd (since it is now declared on not-errno.h
header) and removed generic implementation (since the header routes
to default implementation).
* Removed the unrequired alias for no cancel sigsuspend on hurd.
---
This patchset finishes my previous work of Linux syscall consolidation
and refactor to finally remove the requeriment of sysdeps-cancel.h
assembly macros for cancellable syscalls. All ports now uses the
SYSCALL_CANCEL macros with C implementation which in turn calls
INLINE_SYSCALL macros.
Besides simplify the curent code requirement, it also simplify
possible future ports to require only the C bindings and the direct
assembly one for syscalls.list autogeneration (another possible
work for future would be to use C generate binding to simplify
even further the syscall requirements).
I checked with a build for mostly supported architecture:
aarch64-linux-gnu, alpha-linux-gnu, arm-linux-gnueabhi, i686-linux-gnu,
ia64-linux-gnu, m68k-linux-gnu, microblaze-linux-gnu,
mips{64,64n32}-linux-gnu, nios2-linux-gnu, powerpc{64,64le}-linux-gnu,
s390{x}-linux-gnu, sh4-linux-gnu{-soft}, tile{pro,gx}-linux-gnu{-32},
sparc{v9,64}-linux-gnu, and x86_64-linux-gnu.
I also run a full make check on real hardware on aarch64-linux-gnu,
arm-linux-gnueabihf, i686-linux-gnu, powerpc{64le}-linux-gnu,
sparc{v9,64}-linux-gnu, and x86_64-linux-gnu{-x32}.
[1] https://sourceware.org/ml/libc-alpha/2017-07/msg00105.html
Adhemerval Zanella (14):
Consolidate non cancellable open call
Consolidate non cancellable read call
Consolidate non cancellable write call
Consolidate non cancellable openat call
Consolidate non cancellable close call
Consolidate non cancellable writev call
Consolidate non cancellable fcntl call
Consolidate non cancellable waitpid call
Consolidate non cancellable pause call
Consolidate non cancellable nanosleep call
Remove non cancellable sigsuspend definition
Fix {INLINE,INTERNAL}_SYSCALL macros for x32
Remove p{read,write}{v} and fallocate from x86 auto-generation list
Remove cancellation support for syscall generation
ChangeLog | 462 +++++++++++++++++++++
catgets/open_catalog.c | 8 +-
csu/check_fds.c | 2 +-
gmon/gmon.c | 22 +-
iconv/gconv_cache.c | 6 +-
include/unistd.h | 2 -
intl/loadmsgcat.c | 6 +-
io/ftw.c | 8 +-
libio/fileops.c | 12 +-
libio/iopopen.c | 4 +-
locale/loadarchive.c | 12 +-
locale/loadlocale.c | 12 +-
login/utmp_file.c | 30 +-
misc/daemon.c | 6 +-
nptl/pthread_mutex_lock.c | 2 +-
nptl/pthread_mutex_timedlock.c | 2 +-
nscd/nscd_getai.c | 2 +-
nscd/nscd_getgr_r.c | 2 +-
nscd/nscd_gethst_r.c | 2 +-
nscd/nscd_getpw_r.c | 2 +-
nscd/nscd_getserv_r.c | 2 +-
nscd/nscd_helper.c | 4 +-
nscd/nscd_initgroups.c | 2 +-
nscd/nscd_netgroup.c | 4 +-
nss/nss_db/db-open.c | 4 +-
resolv/herror.c | 2 +-
resolv/res-close.c | 4 +-
stdio-common/psiginfo.c | 2 +-
sunrpc/pm_getmaps.c | 2 +-
sysdeps/generic/not-cancel.h | 40 +-
sysdeps/mach/hurd/opendir.c | 4 +-
sysdeps/mach/hurd/sigsuspend.c | 1 -
sysdeps/posix/closedir.c | 2 +-
sysdeps/posix/getaddrinfo.c | 4 +-
sysdeps/posix/getcwd.c | 8 +-
sysdeps/posix/libc_fatal.c | 2 +-
sysdeps/posix/opendir.c | 12 +-
sysdeps/posix/pause.c | 15 -
sysdeps/posix/spawni.c | 11 +-
sysdeps/unix/make-syscalls.sh | 4 -
sysdeps/unix/syscall-template.S | 7 +-
sysdeps/unix/sysv/linux/Versions | 2 +
sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h | 87 +---
sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h | 131 +-----
sysdeps/unix/sysv/linux/arm/sysdep-cancel.h | 197 +--------
sysdeps/unix/sysv/linux/check_native.c | 2 +-
sysdeps/unix/sysv/linux/check_pf.c | 2 +-
sysdeps/unix/sysv/linux/close.c | 12 +
sysdeps/unix/sysv/linux/fips-private.h | 6 +-
sysdeps/unix/sysv/linux/gethostid.c | 12 +-
sysdeps/unix/sysv/linux/getloadavg.c | 6 +-
sysdeps/unix/sysv/linux/getlogin_r.c | 6 +-
sysdeps/unix/sysv/linux/getsysstats.c | 16 +-
sysdeps/unix/sysv/linux/grantpt.c | 6 +-
sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h | 225 +---------
sysdeps/unix/sysv/linux/i386/smp.h | 6 +-
sysdeps/unix/sysv/linux/i386/sysdep-cancel.h | 119 +-----
sysdeps/unix/sysv/linux/ia64/has_cpuclock.c | 6 +-
sysdeps/unix/sysv/linux/ia64/sysdep-cancel.h | 194 +--------
sysdeps/unix/sysv/linux/if_index.c | 6 +-
sysdeps/unix/sysv/linux/libc_fatal.c | 10 +-
sysdeps/unix/sysv/linux/m68k/sysdep-cancel.h | 108 +----
sysdeps/unix/sysv/linux/malloc-sysdep.h | 8 +-
sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h | 116 +-----
.../unix/sysv/linux/mips/mips64/sysdep-cancel.h | 249 -----------
sysdeps/unix/sysv/linux/mips/sysdep-cancel.h | 159 +------
sysdeps/unix/sysv/linux/mq_notify.c | 2 +-
sysdeps/unix/sysv/linux/nanosleep.c | 9 +
sysdeps/unix/sysv/linux/nios2/sysdep-cancel.h | 110 +----
sysdeps/unix/sysv/linux/not-cancel.h | 118 +++---
sysdeps/unix/sysv/linux/open.c | 21 +
sysdeps/unix/sysv/linux/open64.c | 38 +-
sysdeps/unix/sysv/linux/openat.c | 20 +
sysdeps/unix/sysv/linux/openat64.c | 36 +-
sysdeps/unix/sysv/linux/pause.c | 14 +-
sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c | 2 +-
.../sysv/linux/powerpc/powerpc32/sysdep-cancel.h | 118 ------
.../sysv/linux/powerpc/powerpc64/sysdep-cancel.h | 147 -------
sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h | 38 ++
sysdeps/unix/sysv/linux/pthread_getname.c | 6 +-
sysdeps/unix/sysv/linux/pthread_setname.c | 6 +-
sysdeps/unix/sysv/linux/read.c | 12 +
.../unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 105 +----
.../unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 109 +----
sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 136 +-----
.../unix/sysv/linux/sparc/sparc32/sysdep-cancel.h | 111 -----
.../unix/sysv/linux/sparc/sparc64/sysdep-cancel.h | 109 -----
sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h | 38 ++
sysdeps/unix/sysv/linux/spawni.c | 8 +-
sysdeps/unix/sysv/linux/sysconf.c | 6 +-
sysdeps/unix/sysv/linux/tile/sysdep-cancel.h | 123 +-----
sysdeps/unix/sysv/linux/waitpid.c | 15 +-
sysdeps/unix/sysv/linux/write.c | 12 +
sysdeps/unix/sysv/linux/x86_64/syscalls.list | 4 -
sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h | 62 +--
sysdeps/unix/sysv/linux/x86_64/sysdep.h | 251 ++++++-----
sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list | 1 -
sysdeps/unix/sysv/linux/x86_64/x32/times.c | 24 +-
98 files changed, 1156 insertions(+), 3086 deletions(-)
delete mode 100644 sysdeps/unix/sysv/linux/mips/mips64/sysdep-cancel.h
delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
create mode 100644 sysdeps/unix/sysv/linux/powerpc/sysdep-cancel.h
delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
create mode 100644 sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h
--
2.7.4
next reply other threads:[~2017-08-03 13:11 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-03 13:11 Adhemerval Zanella [this message]
2017-08-03 13:11 ` [PATCH 02/14] Consolidate non cancellable read call Adhemerval Zanella
2017-08-17 20:59 ` Adhemerval Zanella
2017-08-03 13:11 ` [PATCH 08/14] Consolidate non cancellable waitpid call Adhemerval Zanella
2017-08-21 14:38 ` Adhemerval Zanella
2017-08-03 13:11 ` [PATCH 09/14] Consolidate non cancellable pause call Adhemerval Zanella
2017-08-22 13:07 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 10/14] Consolidate non cancellable nanosleep call Adhemerval Zanella
2017-08-22 13:07 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 13/14] Remove p{read,write}{v} and fallocate from x86 auto-generation list Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 12/14] Fix {INLINE,INTERNAL}_SYSCALL macros for x32 Adhemerval Zanella
2017-08-22 18:25 ` Adhemerval Zanella
2017-08-22 18:32 ` H.J. Lu
2017-08-22 19:04 ` Adhemerval Zanella
2017-08-22 19:06 ` H.J. Lu
2017-08-03 13:12 ` [PATCH 04/14] Consolidate non cancellable openat call Adhemerval Zanella
2017-08-18 13:55 ` Adhemerval Zanella
2017-08-18 13:58 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 01/14] Consolidate non cancellable open call Adhemerval Zanella
2017-08-16 20:07 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 05/14] Consolidate non cancellable close call Adhemerval Zanella
2017-08-18 13:55 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 07/14] Consolidate non cancellable fcntl call Adhemerval Zanella
2017-08-21 14:37 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 06/14] Consolidate non cancellable writev call Adhemerval Zanella
2017-08-21 14:37 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 11/14] Remove non cancellable sigsuspend definition Adhemerval Zanella
2017-08-22 13:07 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 14/14] Remove cancellation support for syscall generation Adhemerval Zanella
2017-08-23 17:23 ` Adhemerval Zanella
2017-08-24 18:04 ` Adhemerval Zanella
2017-08-03 13:12 ` [PATCH 03/14] Consolidate non cancellable write call Adhemerval Zanella
2017-08-18 13:36 ` Adhemerval Zanella
2017-08-09 17:23 ` [PATCH v2 00/14] Remove sysdep-cancel assembly macro Adhemerval Zanella
2017-08-14 20:05 ` Adhemerval Zanella
2017-08-15 4:28 ` Palmer Dabbelt
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=1501765874-6201-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).