| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes semaphore destruction by either using 64b atomic
operations (where available), or by using two separate fields when only
32b atomic operations are available. In the latter case, we keep a
conservative estimate of whether there are any waiting threads in one
bit of the field that counts the number of available tokens, thus
allowing sem_post to atomically both add a token and determine whether
it needs to call futex_wake.
See:
https://sourceware.org/ml/libc-alpha/2014-12/msg00155.html
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
With the recent tuning the C version of rwlocks is basically the same
performance as the x86 assembler version for uncontended locks (with a
a few cycles near the run-to-run variability). For others it should not
matter anyways.
So remove the assembler code and use the C version like other
architectures.
|
| |
|
|
|
|
|
|
| |
This patch adds multiarch support when configured for i686. I modified
some x86-64 functions to support 32bit. I will contribute 32bit SSE string
and memory functions later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/x86_64/sysdep.S [USE_TLS && HAVE___THREAD] [! PIC]:
Use direct-%fs form of TLS access for errno.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: File removed, since
the i386 version has all the same asm now.
* sysdeps/i386/elf/configure.in: Add @GOTNTPOFF and @NTPOFF uses to
the TLS support check.
* sysdeps/i386/elf/configure: Regenerated.
* sysdeps/unix/sysv/linux/i386/sysdep.h [USE_TLS && HAVE___THREAD]
(SYSCALL_ERROR_HANDLER): Use direct-%gs form of TLS access for errno.
* sysdeps/unix/i386/sysdep.S (syscall_error)
[USE_TLS && HAVE___THREAD]: Use TLS access for errno.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-07-19 Ulrich Drepper <drepper@redhat.com>
* configure.in: Add test for __thread support in compiler.
* config.h.in: Add HAVE___THREAD.
* Makefile (headers): Remove errno.h, sys/errno.h, and bits/errno.h.
* include/sys/errno.h: Moved to...
* stdlib/sys/errno.h: ...here. New file.
* stdlib/errno.h: New file. Moved from...
* include/errno.h: ...here. Changed into an internal header defining
libc-local things like __set_errno.
* stdlib/Makefile (headers): Add errno.h, sys/errno.h, and
bits/errno.h.
* elf/dl-minimal.c: Include <tls.h>. Define errno as thread-local
variable if USE_TLS && HAVE___THREAD. Don't define __errno_location
either.
* elf/rtld.c (_dl_start): Add code to initialize TLS for ld.so
from...
(_dl_start_final): ...here. Add code to initialize tls elements from
bootstrap_map.
* sysdeps/generic/errno-loc.c: Define errno as thread-local variable
if USE_TLS && HAVE___THREAD.
* sysdeps/generic/bits/errno.h: Remove __set_errno definition.
* sysdeps/mach/hurd/bits/errno.h: Likewise.
* sysdeps/standalone/arm/bits/errno.h: Likewise.
* sysdeps/standalone/bits/errno.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/bits/errno.h: Likewise.
* sysdeps/unix/sysv/aix/bits/errno.h: Likewise.
* sysdeps/unix/sysv/hpux/bits/errno.h: Likewise.
* sysdeps/unix/sysv/linux/bits/errno.h: Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/errno.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/errno.h: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h: Likewise.
* sysdeps/i386/dl-machine.c (elf_machine_rel) [RTLD_BOOTSTRAP]: Don't
use GL(dl_rtld_map), use map parameter.
* sysdeps/sh/dl-machine.h (elf_machine_rela): Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.S: Define errno in .tbss if
USE_TLS && HAVE___THREAD.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Unify SETUP_PIC_REG
definitions. If USE_TLS && HAVE___THREAD store errooor value using
TLS code sequence.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/getcwd.c: No real need to restore errno.
* sysdeps/unix/sysv/linux/grantpt.c: Likewise.
* sysdeps/unix/sysv/linux/internal_statvfs.c: Likewise.
* sysdeps/unix/sysv/linux/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/readv.c: Likewise.
* sysdeps/unix/sysv/linux/writev.c: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2002-05-30 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/Makefile [$(subdir)==misc] (sysdep_routines):
Add readahead.
* sysdeps/unix/sysv/linux/readahead.c: New file.
* sysdeps/unix/sysv/linux/syscalls.list: Add sendfile64 syscall.
* sysdeps/unix/sysv/linux/Versions: Export readahead and sendfile64.
* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add readahead syscall.
Add sendfile64 alias to sendfile syscall.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_readahead
syscall.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Use __i686.get_pc_thunk.XX
special section for PIC register loading.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.
* config.h.in: Define HAVE_HIDDEN.
* configure.in: Also define HAVE_HIDDEN if HAVE_PROTECTED is defined.
* elf/elf.h: Correct Alpha TLS relocations according to last spec.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/i386/sysdep.S (syscall_error): Push & pop space
for BP return value & push implicit struct-return pointer to
__errno_location.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
(SYSCALL_ERROR_HANDLER): Likewise.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h
(SYSCALL_ERROR_HANDLER): Likewise.
* sysdeps/i386/bp-asm.h (POP_ERRNO_LOCATION_RETURN): Fold insns.
* sysdeps/unix/i386/sysdep.S (syscall_error): Push & pop space
for BP return value & push implicit struct-return pointer to
__errno_location.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
(SYSCALL_ERROR_HANDLER): Likewise.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h
(SYSCALL_ERROR_HANDLER): Likewise.
* Makeconfig (CPPFLAGS-.ob): Pass -fbounded-pointers
for all files *.[cS].
|
|
|
|
|
|
|
|
| |
2000-05-19 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h
(SYSCALL_ERROR_HANDLER): Remove unneeded syscall_error which
breaks compilation without linuxthreads.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1998-08-23 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Versions [GLIBC_2.1]: Add
__modify_ldt and modify_ldt.
* sysdeps/unix/sysv/linux/i386/syscalls.list: Add modify_ldt.
* sysdeps/unix/sysv/linux/i386/sysdep.h (SYSCALL_ERROR_HANDLER):
Use orl $-1 instead of movl $-1 to save two bytes.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h (SYSCALL_ERROR_HANDLER):
Likewise.
1998-08-17 H.J. Lu <hjl@gnu.org>
* libio/Versions (_IO_do_write, _IO_file_attach,
_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
_IO_file_write, _IO_file_xsputn): Added to GLIBC_2.1.
* libio/fileops.c (_IO_do_write, _IO_file_attach,
_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
_IO_file_write, _IO_file_xsputn): Change the prefix to
"_IO_new_". Added to GLIBC_2.1.
* libio/libioP.h (_IO_do_write, _IO_file_attach,
_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
_IO_file_write, _IO_file_xsputn): Add prototypes for the prefix
"_IO_new_".
* libio/oldfileops.c (_IO_do_write, _IO_file_attach,
_IO_file_close_it, _IO_file_finish, _IO_file_fopen,
_IO_file_init, _IO_file_overflow, _IO_file_seekoff,
_IO_file_setbuf, _IO_file_sync, _IO_file_underflow,
_IO_file_write, _IO_file_xsputn): Added to GLIBC_2.0.
1998-08-23 Richard Henderson <rth@cygnus.com>
* Makeconfig (LDFLAGS): Remove.
* csu/initfini.c: Return to .text before __gmon_start__.
* elf/elf.h (EM_FAKE_ALPHA): Rename from EM_OLD_ALPHA.
(STO_MIPS_*): Rename from STO_*.
(STB_MIPS_SPLIT_COMMON): Rename from STB_SPLIT_COMMON.
(STO_ALPHA_NOPV, STO_ALPHA_STD_GPLOAD): New.
* math/atest-exp.c (mpn_bitsize): Fix bit location calculation.
(main): e3s is negative on zero.
* math/atest-exp2.c: Likewise.
* math/atest-sincos.c: Likewise.
1998-08-23 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Makerules (install): Add comment about absolute paths.
1998-08-23 Ulrich Drepper <drepper@cygnus.com>
* libio/vsnprintf.c (_IO_vsnprintf): Set first byte of destination
array to NUL to handle maxlen==1 case correctly.
Patch by HJ Lu.
1998-08-23 Richard Henderson <rth@cygnus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add _dl_profile.
* elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass
this to ELF_DYNAMIC_RELOCATE.
Always allocate array for relocation result if LD_PROFILE is defined.
* elf/ldsodefs.h: Adjust prototypes.
* elf/dl-open.c (_dl_open): Call relocation function with extra
argument.
* elf/rtld.c: Likewise.
* elf/dl-profile.c (_dl_mcount): Don't mark as internal function.
Correct loop condition.
* elf/dynamic-link.h: Don't examine _dl_profile variable, pass
consider_profile to runtime setup function.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use
_dl_runtime_profile for all shared objects if LD_PROFILE is defined.
* elf/dl-support.c: Define __libc_stack_end.
* elf/rtld.c: Likewise.
* sysdeps/generic/libc-start.c: Store last stack address in
__libc_stack_end.
* sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address.
* sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument.
* elf/elf.h: Include <features.h>, not <sys/cdefs.h>.
Include <stdint.h>, not <inttypes.h>.
* elf/sprof.c: Implement flat profiling.
* libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call
_IO_funlockfile explicitly.
* libio/fileops.c: Likewise.
* libio/fputc.c: Likewise.
* libio/freopen.c: Likewise.
* libio/freopen64.c: Likewise.
* libio/fseek.c: Likewise.
* libio/fseeko.c: Likewise.
* libio/fseeko64.c: Likewise.
* libio/ftello.c: Likewise.
* libio/ftello64.c: Likewise.
* libio/getc.c: Likewise.
* libio/getchar.c: Likewise.
* libio/iofclose.c: Likewise.
* libio/iofflush.c: Likewise.
* libio/iofgetpos.c: Likewise.
* libio/iofgetpos64.c: Likewise.
* libio/iofgets.c: Likewise.
* libio/iofputs.c: Likewise.
* libio/iofread.c: Likewise.
* libio/iofsetpos.c: Likewise.
* libio/iofsetpos64.c: Likewise.
* libio/ioftell.c: Likewise.
* libio/iofwrite.c: Likewise.
* libio/iogetdelim.c: Likewise.
* libio/iogets.c: Likewise.
* libio/ioputs.c: Likewise.
* libio/ioseekoff.c: Likewise.
* libio/ioseekpos.c: Likewise.
* libio/iosetbuffer.c: Likewise.
* libio/iosetvbuf.c: Likewise.
* libio/ioungetc.c: Likewise.
* libio/iovsprintf.c: Likewise.
* libio/iovsscanf.c: Likewise.
* libio/oldfileops.c: Likewise.
* libio/oldiofclose.c: Likewise.
* libio/peekc.c: Likewise.
* libio/putc.c: Likewise.
* libio/putchar.c: Likewise.
* libio/rewind.c: Likewise.
* malloc/mtrace.c: Pretty print.
* misc/mntent.h (struct mentent): Make string elements const char *.
* nis/nis_printf.c: Optimize I/O a little bit.
* signal/Makefile (distribute): Add sigset-cvt-mask.h.
* sysdeps/generic/sigset-cvt-mask.h: New file.
* sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file.
* sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file.
* sysdeps/posix/sigvec.c: Rewrite the use definitions from
sigset-cvt-mask.h to do the dirty work.
Patches by Joe Keane.
* sysdeps/posix/mkstemp.c: Save one precious byte of rodata.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make
syscall_error label in case of PIC anonymous.
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change.
* sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change.
* sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change.
* sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change.
* sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change.
* sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
|
|
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* stdlib/isomac.c: Use -isystem instead of -I for system include
dir.
1998-03-30 08:05 H.J. Lu <hjl@gnu.org>
* resolv/res_comp.c (underscorechar): New.
(middlechar): Allow '_'.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* intl/explodename.c (stdlib.h): Include that file only if
STDC_HEADERS or _LIBC.
(string.h): Include that file only if HAVE_STRING_H or _LIBC.
Patch by Philippe De Muyter <phdm@macqel.be>.
1998-04-01 21:08 Zack Weinberg <zack@rabi.phys.columbia.edu>
* aclocal.m4 (AC_PROG_CC_LOCAL): Remove superfluous tests.
(AC_PROG_CHECK_VER): New macro.
* configure.in: Use AC_PROG_CHECK_VER to check versions of
gcc, gmake, msgfmt, makeinfo. Remove superfluous tests.
1998-04-02 15:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/i686/sysdep.h: New file.
* sysdeps/i386/i686/strtok.S: New file
* sysdeps/i386/i686/strtok_r.S: New file
1998-04-02 Mark Kettenis <kettenis@phys.uva.nl>
* posix/unistd.h: [__USE_FILE_OFFSET64] (lseek): Change return
type to __off64_t.
* libio/stdio.h [__USE_FILE_OFFSET64] (fseeko): Declare offset
parameter as __off64_t instead of __off_t.
(ftello): Make alias for ftello64 instead of ftello. Change
return type to __off64_t.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/bits/string.h: Fix various typos.
Patch by Horst von Brand <vonbrand@sleipnir.valparaiso.cl>.
* sysdeps/unix/sysv/linux/getcwd.c: Use getcwd syscall in Linux 2.1.92.
1998-04-02 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/chown.c: Handle old kernels without
lchown syscall correctly. [PR libc/541].
|