Age | Commit message (Collapse) | Author |
|
2002-12-06 Ulrich Drepper <drepper@redhat.com>
* misc/syslog.c (log_cleanup): New function.
(openlog): Use log_cleanup instead of __libc_mutex_unlock.
(closelog): Likewise.
* elf/dl-close.c: Use __rtld_lock_* macros instead of __libc_lock_*.
* elf/dl-iteratephdr.c: Likewise.
* elf/dl-lookup.c: Likewise.
* elf/dl-misc.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dl-support.c: Likewise.
* elf/rtld.c: Likewise.
* sysdeps/generic/ldsodefs.h: Likewise.
* sysdeps/generic/bits/libc-lock.h: Define __rtld_lock_* macros.
* sysdeps/mach/bits/libc-lock.h: Likewise.
* sysdeps/mach/hurd/bits/libc-lock.h: Likewise.
* dirent/bug-readdir1.c (main): Don't call closedir, just close
|
|
* malloc/hooks.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]
(malloc_starter, memalign_starter, free_starter): Don't define these.
* malloc/malloc.c [_LIBC && (USE___THREAD || (USE_TLS && !SHARED))]:
Don't declare them either.
* malloc/arena.c (ptmalloc_init) [_LIBC && USE_TLS]: Don't call
__pthread_initialize, so no need to set hooks to *_starter.
(ptmalloc_init_minimal): New function, broken out of ptmalloc_init.
[_LIBC && SHARED && USE_TLS && !USE___THREAD]
(__libc_malloc_pthread_startup): New function.
* malloc/Versions (libc: GLIBC_PRIVATE): New set, add that function.
* malloc/hooks.c (memalign_starter): New function.
* malloc/malloc.c: Declare it.
* malloc/arena.c (save_memalign_hook): New variable.
(ptmalloc_init): Set __memalign_hook to memalign_starter.
* elf/dl-minimal.c (free): Clear the memory.
(calloc): Just call malloc, knowing all memory it returns is cleared.
* sysdeps/generic/dl-tls.c (allocate_dtv): Use calloc instead of
malloc and memset; calloc can avoid the zeroing when redundant.
(_dl_tls_setup): Likewise.
* elf/dl-load.c (decompose_rpath): Likewise.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Comment out memset
call, since memory from sbrk at startup is already zero.
* elf/rtld.c (_dl_start, dl_main): TLS_INIT_TP macro now returns an
error string for failure, null for success. Update callers.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
|
|
args to i:iipi.
(readahead): Change args to i:iii.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list (readahead):
Change args to i:iii.
* sysdeps/unix/sysv/linux/mips/syscalls.list (readahead): Change
args to i:iiii.
|
|
2002-12-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/tls.h: Include stdlib.h.
* sysdeps/x86_64/tls.h: Likewise.
|
|
members to the end, so a libpthread compiled with !USE_TLS will still
find other members properly.
* sysdeps/i386/i486/bits/string.h (__strcpy_g): Add dummy output
operand for DEST memory. Fix dummy input operand to use SRC.
Reported by Davin McCall <davmac@ozonline.com.au>.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Account for TCB
alignment when initializing the DTV entry.
* elf/dl-load.c (_dl_map_object_from_fd): If we hit a TLS segment
when TLS has not been set up, try to set it up if we can.
* elf/tst-tls4.c: Revert last change.
* elf/tst-tls5.c: Likewise.
* elf/tst-tls6.c: Likewise.
* elf/tst-tls7.c: Likewise.
* elf/tst-tls8.c: Likewise.
* elf/tst-tls9.c: Likewise.
* sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function.
* sysdeps/generic/ldsodefs.h: Declare it.
* elf/Versions (ld: GLIBC_PRIVATE): Add it.
* sysdeps/generic/libc-tls.c (init_slotinfo): New static inline
function, broken out of __libc_setup_tls.
(init_static_tls): Likewise.
(__libc_setup_tls): Call them.
(_dl_tls_setup): New function, uses new subroutines.
* elf/dl-close.c (free_slotinfo): Make argument pointer to pointer.
Clear the pointer when returning true.
(libc_freeres_fn) [SHARED]: If GL(dl_initial_dtv) is null, free the
first element of the slotinfo list too.
* sysdeps/generic/dl-tls.c (_dl_determine_tlsoffset): Define only if
[SHARED].
* sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden.
(_dl_determine_tlsoffset): Likewise.
* elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from
startup_error_tsd, made global.
(dl_main): Update initialization.
* elf/dl-tsd.c: Likewise.
* sysdeps/generic/ldsodefs.h: Declare it.
|
|
* sysdeps/generic/ldsodefs.h (struct rtld_global): Move all [USE_TLS]
members to the end, so a libpthread compiled with !USE_TLS will still
find other members properly.
* sysdeps/generic/dl-tls.c [SHARED] (_dl_tls_setup): New function.
* sysdeps/generic/ldsodefs.h: Declare it.
* elf/Versions (ld: GLIBC_PRIVATE): Add it.
* sysdeps/generic/libc-tls.c (init_slotinfo): New static inline
function, broken out of __libc_setup_tls.
(init_static_tls): Likewise.
(__libc_setup_tls): Call them.
(_dl_tls_setup): New function, uses new subroutines.
* sysdeps/generic/ldsodefs.h (_dl_next_tls_modid): Declare as hidden.
(_dl_determine_tlsoffset): Likewise.
* elf/rtld.c (_dl_initial_error_catch_tsd): Renamed from
startup_error_tsd, made global.
(dl_main): Update initialization.
* elf/dl-tsd.c: Likewise.
* sysdeps/generic/ldsodefs.h: Declare it.
|
|
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Include static TLS
area surplus in calculation for sbrk call.
|
|
|
|
2002-12-03 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/system.c (do_system): Make signal handler
installation thread safe.
|
|
* sysdeps/unix/sysv/linux/alpha/syscalls.list (readahead): Change
caller from EXTRA to -.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
|
|
bits of RM are cleared.
|
|
* sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Fix condition
testing getdents64 return value.
|
|
|
|
DL_SYSDEP_OSCHECK here.
* sysdeps/unix/sysv/linux/init-first.c (init): Not here.
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include <fcntl.h>.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Bail if
argument TCBSIZE <= TLS_INIT_TCB_SIZE, not just if it's zero.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_init): Check l_tls_offset
instead of l_type to decide whether to use TLS_DTV_UNALLOCATED.
* include/link.h: Comment typo fix.
2002-12-01 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_FSYNC): Set to 200112L.
(_POSIX_SPAWN, _POSIX_MAPPED_FILES, _POSIX_MEMLOCK_RANGE,
_POSIX_MEMORY_PROTECTION): Likewise.
(_POSIX_POLL, _POSIX_SELECT): Removed.
|
|
_POSIX_SELECT.
|
|
2002-11-28 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/alpha/sysdep.S: Change defined(USE___THREAD) to
USE___THREAD.
* sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall*): Avoid
"=v" constraints.
|
|
2002-11-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/vfork.S: Don't trash the CPU's
branch prediction buffers by using unpaired call/ret.
|
|
2002-11-27 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (ASMFMT_2): Fix typo in
first parameters constraint string.
(ASMFMT_3): Likewise. Patch by stefan.lauterbach@mincom.de.
|
|
Grok AF_LINK if defined.
From Momchil Velikov <velco@fadata.bg>.
* sysdeps/gnu/ifaddrs.c (getifaddrs): If ioctl fails for netmask,
brdaddr, or dstaddr, just set those pointers to null and don't fail.
Reported by Momchil Velikov <velco@fadata.bg>.
* sysdeps/generic/ifreq.h (__if_nextreq) [_HAVE_SA_LEN]: If sa_len
is > sizeof IFR->ifa_addr, advance past the whole longer length.
(__ifreq): Count up NIFS that way too.
Reported by Momchil Velikov <velco@fadata.bg>.
* sysdeps/mach/hurd/lchmod.c: Include <fcntl.h>.
|
|
* sysdeps/mach/hurd/lchmod.c: Include <fcntl.h>.
|
|
* sysdeps/mach/hurd/i386/init-first.c: Include <ldsodefs.h>
and <fpu_control.h>.
|
|
* sysdeps/posix/writev.c: Likewise.
From Momchil Velikov <velco@fadata.bg>.
* elf/dl-error.c [! _LIBC_REENTRANT]: Use a static variable instead of
calling *GL(dl_error_catch_tsd) for a thread-local location.
* elf/rtld.c (startup_error_tsd): Conditionalize on [_LIBC_REENTRANT].
(dl_main): Same for GL(dl_error_catch_tsd) initialization.
* elf/dl-tsd.c: Conditionalize contents on [_LIBC_REENTRANT].
* libio/iofflush.c: Add libc_hidden_def.
* libio/iofwrite.c: Likewise.
* sysdeps/generic/sigtimedwait.c: Likewise.
* sysdeps/generic/sigwaitinfo.c: Likewise.
* sysdeps/posix/sigwait.c: Likewise.
Reported by Momchil Velikov <velco@fadata.bg>.
* inet/inet_lnaof.c (inet_lnaof): Change return type to in_addr_t
to match <arpa/inet.h> declaration.
* inet/inet_netof.c (inet_netof): Likewise.
* inet/inet_mkadr.c (inet_makeaddr): Likewise for argument types.
Reported by Momchil Velikov <velco@fadata.bg>.
|
|
* configure: Regenerated.
* posix/Makefile (headers): Add bits/pthreadtypes.h.
* sysdeps/unix/sysv/linux/Makefile (sysdep_heaers): Don't add it here.
* sysdeps/unix/sysv/linux/Dist: Remove it from the list.
|
|
|
|
|
|
|
|
[__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2,
and __unused3 fields.
* sysdeps/unix/sysv/linux/powerpc/bits/sem.h (semid_ds)
[__WORDSIZE == 32]: Only PPC32 requires __unused1
and __unused2 fields.
* sysdeps/unix/sysv/linux/powerpc/bits/shm.h (shmid_ds)
[__WORDSIZE == 32]: Only PPC32 requires __unused1, __unused2,
__unused3,and __unused4 fields.
|
|
* csu/gmon-start.c (__gmon_start__): Always use TEXT_START macro to
obtain lowest address for profiling in __monstartup call.
* sysdeps/ia64/fpu/Makefile (libm-sysdep_routines): Remove redunant
$(calls) $(calls:=f) $(long-c-$(long-double-fcts)).
2002-11-21 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/i386/init-first.c (posixland_init): Set
__libc_multiple_libcs here. Call __setfpucw.
|
|
__libc_multiple_libcs here. Call __setfpucw.
* locale/localeinfo.h (struct locale_data): Revert last change.
|
|
From Ian Wienand <ianw@gelato.unsw.edu.au>.
* sysdeps/unix/sysv/linux/ia64/sysdep.h (__NR_pread): Define to
__NR_pread64 if not defined.
(__NR_pwrite): Define to __NR_pwrite64 if not defined.
From Ian Wienand <ianw@gelato.unsw.edu.au>.
|
|
* sysdeps/unix/sysv/linux/ia64/syscalls.list (s_exit_group): Add it.
From Ian Wienand <ianw@gelato.unsw.edu.au>.
|
|
2002-11-21 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags.
* sysdeps/unix/sysv/linux/i386/clone.S: Add support for
CLONE_CHILD_*TID flags.
|
|
|
|
We pass struct ucontext on x86-64.
(GET_PC): Adjust.
(GET_FRAME): Adjust.
(GET_STACK): Adjust.
|
|
conditionalize [! DO_VERSIONING] #error.
|
|
* iconv/gconv_simple.c (internal_ucs4le_loop_unaligned): Return
__GCONV_EMPTY_INPUT only if input is really empty. Otherwise
__GCONV_INCOMPLETE_INPUT.
(ucs4le_internal_loop): Likewise.
(ucs4le_internal_loop_unaligned): Likewise.
* iconvdata/unicode.c (PREPARE_LOOP): Likewise.
* iconvdata/utf-16.c (PREPARE_LOOP): Likewise.
* iconvdata/utf-32.c (PREPARE_LOOP): Likewise.
* iconv/loop.c (LOOPFCT): First test for empty input then for full
output buffer.
|
|
2002-11-20 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Use extend_alloca where appropriate.
* sysdeps/posix/getaddrinfo.c: Likewise.
* include/alloca.h (extend_alloca): New define. Based on stack
direction it'll try to append to the previouls allocated buffer.
2002-11-07 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/posix/getaddrinfo.c (gaih_inet): If AF_UNSPEC is set,
use the same service for AF_INET and AF_INET6.
2002-11-19 Ulrich Drepper <drepper@redhat.com>
* intl/localealias.c (read_alias_file): Use only about 400 bytes
of stack space instead of 16k.
|
|
(F_GETLK, F_SETLK, F_SETLKW): Define to F_*64 versions.
* sysdeps/unix/sysv/linux/hppa/fcntl.c: New file.
|
|
* sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable.
Set -mdisable-fpregs for this file.
2002-11-11 Carlos O'Donell <carlos@baldric.uwo.ca>
* sysdeps/unix/sysv/linux/configure.in:
Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols
from gcc-3.0 era for backwards compatibility.
* sysdeps/unix/sysv/linux/configure: Regenerate.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h:
Define mcontext_t as a sigcontext.
* dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)).
Free memory in `last_result' if it was used.
* resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search
all aliases for one that matches the "<dotted-quad>.IN-ADDR.ARPA" form.
Do the parsing inline instead of copying strings and calling
inet_network, and properly skip all alias names not matching the form.
|
|
|
|
* sysdeps/arm/dl-machine.h (elf_machine_rela): Handle R_ARM_COPY.
2002-11-15 Roland McGrath <roland@redhat.com>
* math/Makefile (libm-calls): Change s_ldexp to m_ldexp.
* Makerules ($(+sysdir_pfx)sysd-rules): Emit pattern rules for m_%.[Sc]
from sysdeps/.../s_%.[Sc] with commands $(+make-include-of-dep).
(+make-include-of-dep): New canned sequence.
* stdlib/canonicalize.c (__realpath): Check for malloc failure.
From Dmitry V. Levin <ldv@altlinux.org>.
|
|
* sysdeps/generic/errno.c (__libc_errno): Remove alias.
* inet/herrno.c (__libc_h_errno): Likewise.
* resolv/res_libc.c (__libc_res): Likewise.
[USE___THREAD]: Use this in place of [USE_TLS && HAVE___THREAD].
(__res_state) [! USE___THREAD]: Don't define as weak.
* csu/Versions: Revert last change.
* resolv/Versions: Revert last change.
|
|
|
|
|
|
[HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these
with compat_symbol so they are not link-time visible.
[! USE___THREAD] (__libc_errno): New alias for errno.
* csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_errno here.
* inet/herrno.c [USE___THREAD]: Use this conditional
in place of [USE_TLS && HAVE___THREAD].
[! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING]
(h_errno, _h_errno): Declare these with compat_symbol so they are not
link-time visible.
[! USE___THREAD] (__libc_h_errno): New alias for h_errno.
* resolv/res_libc.c [! USE___THREAD]
[HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise.
(_res): Use __attribute__ ((section (".bss"))) so we can have an alias.
(__libc_res): Define as alias for _res.
* resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE):
Add __libc_h_errno and __libc_res here.
2002-11-14 Jakub Jelinek <jakub@redhat.com>
* csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now.
* resolv/Versions (h_errno, _res): Likewise.
2002-11-14 Roland McGrath <roland@redhat.com>
|
|
for the new TCB.
|
|
|
|
* sysdeps/x86_64/strchr.S: Don't use one register for two
purposes, this fixes a bug noticed by test-strchr.c.
|
|
|
|
instead of <pt-machine.h>.
[_LIBC_REENTRANT] (lock, unlock): Use __sync_lock_* macros instead of
testandset.
From Ian Wienand <ianw@gelato.unsw.edu.au>.
|