Since _dl_x86_cpu_features is always available, we can use x86-64
cacheinfo.c and sysconf.c for both i386 and x86-64.
* sysdeps/i386/i686/Makefile
[$(subdir) == string] (sysdep_routines): Moved to ...
* sysdeps/i386/Makefile: Here.
* sysdeps/i386/i686/cacheinfo.c: Moved to ...
* sysdeps/i386/cacheinfo.c: Here.
* sysdeps/unix/sysv/linux/i386/sysconf.c: Removed.
* sysdeps/unix/sysv/linux/i386/i686/sysconf.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysconf.c: Moved to ...
* sysdeps/unix/sysv/linux/x86/sysconf.c: Here.
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.
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-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].