mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-30 00:31:08 +00:00
e01f79e412
This patch consolidates the shmctl Linux implementation in only one default file, sysdeps/unix/sysv/linux/shmctl.c. If tries to use the direct syscall if it is supported, otherwise will use the old ipc multiplex mechanism. The patch also simplify header inclusion and reorganize internal compat symbol to be built only if old ipc is defined. Checked on x86_64, i686, powerpc64le, aarch64, and armhf. * sysdeps/unix/sysv/linux/alpha/Makefile (sysdeps_routines): Remove oldshmctl. * sysdeps/unix/sysv/linux/alpha/syscalls.list (shmctl): Remove. * sysdeps/unix/sysv/linux/arm/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/generic/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/microblaze/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/x86_64/syscalls.list (shmctl): Likewise. * sysdeps/unix/sysv/linux/alpha/shmctl.c: Remove file. * sysdeps/unix/sysv/linux/arm/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/microblaze/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/shmctl.c: Use default implementation. * sysdeps/unix/sysv/linux/shmctl.c (__new_shmctl): Use shmctl syscall if it is defined.
42 lines
1.1 KiB
Makefile
42 lines
1.1 KiB
Makefile
ifeq ($(subdir),posix)
|
|
sysdep_routines += oldglob
|
|
endif
|
|
|
|
ifeq ($(subdir),stdlib)
|
|
gen-as-const-headers += ucontext-offsets.sym
|
|
endif
|
|
|
|
ifeq ($(subdir),misc)
|
|
sysdep_headers += alpha/ptrace.h alpha/regdef.h sys/io.h
|
|
|
|
sysdep_routines += ieee_get_fp_control ieee_set_fp_control \
|
|
ioperm
|
|
|
|
# Support old timeval32 entry points
|
|
sysdep_routines += osf_select osf_gettimeofday osf_settimeofday \
|
|
osf_getitimer osf_setitimer osf_utimes \
|
|
osf_getrusage osf_wait4
|
|
|
|
CFLAGS-ioperm.c = -Wa,-mev6
|
|
endif
|
|
|
|
ifeq ($(subdir),signal)
|
|
sysdep_routines += rt_sigaction
|
|
endif
|
|
|
|
ifeq ($(subdir),math)
|
|
# These 2 routines are normally in libgcc{.a,_s.so.1}.
|
|
# However, alpha -mlong-double-128 libgcc relies on
|
|
# glibc providing _Ots* routines and without these files
|
|
# glibc relies on __multc3/__divtc3 only provided
|
|
# by libgcc if configured with -mlong-double-128.
|
|
# Provide these routines here as well.
|
|
libm-routines += multc3 divtc3
|
|
endif # math
|
|
|
|
ifeq ($(subdir),nptl)
|
|
# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
|
|
libpthread-routines += sysdep sigprocmask rt_sigaction
|
|
libpthread-shared-only-routines += sysdep sigprocmask rt_sigaction
|
|
endif
|