Age | Commit message (Collapse) | Author |
|
This patch consolidates the pause Linux implementation on
sysdeps/unix/sysv/linux/pause.c. If defined the pause syscall
(__NR_pause) will be used, other ppoll with 0 arguments will be
used instead.
It has the small advantage of generic pause implementation with
uses rt_sigprocmask plus rt_sigsuspend because it requires only
one syscall and the pause is done atomically regarding signal
handling (for instance, pause may not be interrupted if the
signal arrives between the rt_sigprocmask and rt_sigsuspend
syscall).
Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32,
arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu,
sparc64-linux-gnu, and sparcv9-linux-gnu.
* sysdeps/unix/sysv/linux/generic/pause.c: Remove file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/kernel-features.h [__arch64__]
(__NR_pause): Undefine.
* sysdeps/unix/sysv/linux/pause.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Remove pause from
auto-generation list.
|
|
2006-10-02 Jakub Jelinek <jakub@redhat.com>
[BZ #3291]
* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include
errno.h, signal.h, unistd.h and sysdep-cancel.h.
(__sigprocmask): Define.
|
|
sysdeps/posix/pause.c implementation instead.
2006-08-09 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/nice.c (nice): Transform EACCES errno from setpriority
to EPERM.
|
|
* elf/tls-macros.h: Add Sparc64 defines.
* sysdeps/sparc/sparc64/dl-machine.h (sparc64_fixup_plt): Mark as
always_inline.
(elf_machine_fixup_plt): Likewise.
(elf_machine_rela): Handle TLS relocations.
(elf_machine_type_cleaa): Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
(SYSCALL_ERROR_HANDLER_ENTRY): Use sethi/or for GOT reloc.
It does not always fit in R_SPARC_GOT13 when building -fPIC.
Also, add TLS handling.
* sysdeps/unix/sysv/linux/configure.in (arch_minimum_kernel):
Increase it to 2.4.21 for sparc64.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: NULL terminate
backtrace by zero'ing out %fp. Store away flags, func_ptr,
and func_arg in global registers not local registers.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Handle PTID, TLS,
and CTID arguments properly. Add RESET_PID handling.
* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Rework so that we
do not invoke __sigprocmask(). We can always assume rt signals
are present on sparc64, so just do an inline syscall.
2005-04-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/sparc/sparc64/dl-machine.h: Add dl_machine_h multiple
inclusion guard for the first half of the header.
(elf_machine_type_class, ELF_MACHINE_JMP_SLOT, ELF_MACHINE_NO_REL,
ELF_MACHINE_PLTREL_OVERLAP, elf_machine_runtime_setup,
elf_machine_relplt, DL_STACK_END, RTLD_START): Move into the
#ifndef dl_machine_h guarded part of the header.
|
|
|
|
|
|
* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include
sysdeps/posix/pause.c instead of sysdeps/unix/common/pause.c.
|
|
1999-06-02 Jakub Jelinek <jj@ultra.linux.cz>
* stdlib/longlong.h: Define UDIV_TIME on sparc64.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c: New file.
|