about summary refs log tree commit diff
path: root/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Add open andUlrich Drepper2007-11-231-0/+3
| | | | creat entries.
* * sysdeps/unix/sysv/linux/Makefile [subdir=inet] (sysdep_headers):Ulrich Drepper2007-11-236-4/+55
| | | | | | | | | | Add netiucv/iucv.h. * sysdeps/unix/sysv/linux/netiucv/iucv.h: New file. * sysdeps/unix/sysv/linux/opensock.c (__opensock): Add AF_IUCV protocol. * sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Likewise. * sysdeps/unix/sysv/linux/s390/opensock.c: New file. * sysdeps/unix/sysv/linux/s390/sa_len.c: New file.
* [BZ #5382]Ulrich Drepper2007-11-231-1/+1
| | | | | | | | | | * nscd/nscd.h (NSCD_THREAD_STACKSIZE): Define. * nscd/connections.c (start_threads): Use NSCD_THREAD_STACKSIZE. * nscd/mem.c (gc): Don't allocate arrays on stack if it can overflow it. * sysdeps/unix/sysv/linux/nscd_setup_thread.c (setup_thread): Return zero in case thread library is not NPTL.
* * sysdeps/posix/getaddrinfo.c (defaults_scopes, scopes): New variables.Ulrich Drepper2007-11-201-13/+201
| | | | | | | | | | | | | (get_scope): For IPv4 scope, use scopes table. (fini): Free scopes table if necessary. (free_scopelist): New function. (scopecmp): New function. (gaiconf_init): Also handle scopev4 entries. * posix/tst-rfc3484.c (do_test): Initialize scopes. * posix/tst-rfc3484-2.c (do_test): Likewise. * posix/gai.conf: Document scopev4 defaults. * posix/Makefile (tests): Add tst-rfc3484-3. * posix/tst-rfc3484-3.c: New file.
* * sysdeps/posix/getaddrinfo.c (default_labels): Describe entry forUlrich Drepper2007-11-191-0/+1
| | | | Teredo tunnels.
* 2007-11-18 Roland McGrath <roland@frob.com>Roland McGrath2007-11-181-1/+3
| | | | * sysdeps/mach/hurd/bits/fcntl.h (O_CLOEXEC): Fix value.
* * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):Ulrich Drepper2007-11-171-1/+1
| | | | Add sys/signalfd.h and sys/eventfd.h.
* Fix size of union.Andreas Jaeger2007-11-151-2/+2
|
* * sysdeps/unix/sysv/linux/check_native.c (__check_native): SimplifyUlrich Drepper2007-11-151-56/+18
| | | | significantly. The device type is also part of the ifinfomsg data.
* * include/ifaddrs.h: Remove in6ai_temporary.Ulrich Drepper2007-11-143-69/+256
| | | | | | | | | | | | | | | | | (struct in6addrinfo): Add index element. Declare __check_native. * inet/Makefile (aux): Add check_native. * sysdeps/unix/sysv/linux/check_native.c: New file. * sysdeps/unix/sysv/linux/check_pf.c: No need to recognize IFA_F_TEMPORARY. Pass back ifa_index. * sysdeps/posix/getaddrinfo.c: Remove netlink compatibility code. (rfc3484_sort): Add new parameter. Implement rule 7 correctly: call __check_native if necessary. (getaddrinfo): Fill in index field. Use qsort_r instead of qsort to sort addresses. Pass information about the results. * posix/tst-rfc3484.c: Adjust for addition of index field and change of rfc3484_sort interface. * posix/tst-rfc3484-2.c: Likewise.
* Hurd-specific kernel-features.h.Ulrich Drepper2007-11-131-0/+31
|
* 2007-09-13 H.J. Lu <hongjiu.lu@intel.com>Roland McGrath2007-11-133-0/+3
| | | | | | * sysdeps/i386/i586/memcpy_chk.S: New file. * sysdeps/i386/i586/mempcpy_chk.S: Likewise. * sysdeps/i386/i586/memset_chk.S: Likewise.
* * include/ifaddrs.c (struct in6addrinfo): Add prefixlen field.Ulrich Drepper2007-11-122-147/+141
| | | | | | | | | | | * sysdeps/unix/sysv/linux/check_pf.c (make_request): Always return list of interfaces. Also store prefix length. * sysdeps/posix/getaddrinfo.c (sort_result): Add prefixlen element. (rfc3484_sort): In rule 9, for IPv4 addresses count only matching prefix if source and destination address are in the same subnet. (getaddrinfo): Always call __check_pf. Fill in prefixlen field. Always look for matching record in in6ai list. Correct source_addr_len value for IPv6->IPv4 converted records.
* * sysdeps/pthread/aio_misc.c (handle_fildes_io): Avoid unnecessaryUlrich Drepper2007-11-101-3/+5
| | | | complications for 64-bit platforms.
* * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..Ulrich Drepper2007-11-1043-26/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/unix/sysv/linux/open64_2.c: ...here. New file. * sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add open64_2. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat entries. * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise. * sysdeps/wordsize-64/alphasort.c: New file. * sysdeps/wordsize-64/alphasort64.c: New file. * sysdeps/wordsize-64/fseeko.c: New file. * sysdeps/wordsize-64/fseeko64.c: New file. * sysdeps/wordsize-64/ftello.c: New file. * sysdeps/wordsize-64/ftello64.c: New file. * sysdeps/wordsize-64/ftw.c: New file. * sysdeps/wordsize-64/ftw64.c: New file. * sysdeps/wordsize-64/iofgetpos.c: New file. * sysdeps/wordsize-64/iofgetpos64.c: New file. * sysdeps/wordsize-64/iofopen.c: New file. * sysdeps/wordsize-64/iofopen64.c: New file. * sysdeps/wordsize-64/iofsetpos.c: New file. * sysdeps/wordsize-64/iofsetpos64.c: New file. * sysdeps/wordsize-64/lockf.c: New file. * sysdeps/wordsize-64/lockf64.c: New file. * sysdeps/wordsize-64/mkostemp.c: New file. * sysdeps/wordsize-64/mkostemp64.c: New file. * sysdeps/wordsize-64/mkstemp.c: New file. * sysdeps/wordsize-64/mkstemp64.c: New file. * sysdeps/wordsize-64/scandir.c: New file. * sysdeps/wordsize-64/scandir64.c: New file. * sysdeps/wordsize-64/tmpfile.c: New file. * sysdeps/wordsize-64/tmpfile64.c: New file. * sysdeps/wordsize-64/versionsort.c: New file. * sysdeps/wordsize-64/versionsort64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file. * sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file. * crypt/sha256-crypt.c: Fix a comment. * crypt/sha512-crypt.c: Likewise.
* * sysdeps/x86_64/memset.S: Add sfence after movnti.Ulrich Drepper2007-11-081-0/+1
|
* * nscd/aicache.c (addhstaiX): Check herrno after IPv4 lookup onlyUlrich Drepper2007-11-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when the lookup call failed. * nscd/nscd.h (struct database_dyn): Rename prunelock to prune_lock. Add prune_cond and wakeup_time. (CACHE_PRUNE_INTERNAL): Define. Update declarations of prune_cache and setup_thread. * nscd/connections.c (dbs): Update initializers. (CACHE_PRUNE_INTERNAL): Moved to nscd.h. (nscd_init): Default number of threads is now 4. (invalidate_cache): Take lock before calling prune_cache. (handle_request): If SELinux forbids the request, say so. (readylist_cond): Use static initializer. (nscd_run_prune): New function. Used only by pruning threads. (nscd_run_worder): Renamed from nscd_run. Remove support for pruning here. (fd_ready): Update nscd_run reference. (start_threads): No need to initialize readylist_cond. Start pruning threads separately. * nscd/nscd_setup_thread.c: Change return value type to int and always return 0. * sysdeps/unix/sysv/linux/nscd_setup_thread.c: Change return value type to int and return nonzero value if we can use the TID address hack. * nscd/cache.c (cache_add): If next wakeup time of cleanup thread for the database is later than the new entry's timeout, update the wakeup time and wake the cleanup thread. (prune_cache): Return seconds the next entry in the database is still valid. Remove locking for pruning here. * nscd/nscd.conf: Document default number of threads.
* * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Make sureUlrich Drepper2007-10-311-26/+28
| | | | | stack is properly aligned for the target function. Correct unwind info.
* [BZ #5040]Ulrich Drepper2007-10-281-1/+3
| | | | * sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLRDHUP): Add value.
* [BZ #3112]Ulrich Drepper2007-10-282-13/+47
| | | | | | | | | 2007-10-27 Andreas Jaeger <aj@suse.de> [BZ #3112] * sysdeps/ia64/backtrace.c (init): Free shared library if incorrect. (__cleanup): Free shared library when exiting. * sysdeps/i386/backtrace.c (init): Free shared library if incorrect. (__cleanup): Free shared library when exiting.
* [BZ #5208]Ulrich Drepper2007-10-281-3/+5
| | | | | | | | 2007-10-23 Andreas Jaeger <aj@suse.de> [BZ #5208] * sysdeps/unix/sysv/linux/readahead.c (__readahead): Use __LONG_LONG_PAIR to handle little endian byte order. Suggested by abhishekrai@google.com
* 2007-10-06 David S. Miller <davem@davemloft.net>Jakub Jelinek2007-10-196-4/+752
| | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.in: Add sparcv9v2 and sparc64v2. * scripts/config.sub: Likewise. * configure: Regenerate. * elf/elf.h (HWCAP_SPARC_N2): New. * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8. * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'. (HWCAP_IMPORTANT): Add HWCAP_SPARC_N2. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file. 2007-10-06 David S. Miller <davem@davemloft.net> * configure.in: Add sparcv9v2 and sparc64v2. * scripts/config.sub: Likewise. * configure: Regenerate. * elf/elf.h (HWCAP_SPARC_N2): New. * sysdeps/sparc/dl-procinfo.h (_DL_HWCAP_COUNT): Bump to 8. * sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add 'v9v2'. (HWCAP_IMPORTANT): Add HWCAP_SPARC_N2. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc32/sparcv9/sparcv9v2/memset.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: New file. * sysdeps/sparc/sparc64/sparcv9v2/memset.S: New file.
* * sysdeps/x86_64/memset.S (bzero): Renamed to __bzero. Add glibc-2.7 cvs/glibc-2_7-base cvs/glibc-2_7Jakub Jelinek2007-10-181-2/+3
| | | | | | | | weak_alias. 2007-10-17 Jakub Jelinek <jakub@redhat.com> * sysdeps/x86_64/memset.S (bzero): Renamed to __bzero. Add weak_alias.
* 2007-10-17 Roland McGrath <roland@frob.com>Roland McGrath2007-10-172-3/+14
| | | | | * sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU__] (F_DUPFD_CLOEXEC): New. * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Implement it.
* * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define F_DUPFD_CLOEXEC. cvs/fedora-glibc-20071017T2007Ulrich Drepper2007-10-178-0/+16
| | | | | | | | | | * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
* * sysdeps/posix/getaddrinfo.c (getaddrinfo): When sorting addressesUlrich Drepper2007-10-171-6/+21
| | | | | and admin selects to be able to replace the gai.conf file, lock data structures around the qsort call.
* * sysdeps/x86_64/cacheinfo.c: Comment out code added in support ofUlrich Drepper2007-10-172-20/+20
| | | | | | new memset. too high for the improvements. Implement bzero unconditionally for use in libc.
* * sysdeps/x86_64/memset.S: Revert to old version for now. The cost isUlrich Drepper2007-10-171-1231/+106
| | | | | | | too high for the improvements. 2007-10-17 Ulrich Drepper <drepper@redhat.com> Jakub Jelinek <jakub@redhat.com>
* Help the compiler recognize unreachable code on 32-bit machines.Ulrich Drepper2007-10-161-4/+4
| | | | | | | 2007-10-16 Ulrich Drepper <drepper@redhat.com> * time/tzfile.c (__tzfile_read): Help the compiler recognize unreachable code on 32-bit machines.
* (__tzfile_read): Take extra memory requested by caller into account when ↵Ulrich Drepper2007-10-161-4/+4
| | | | | | | | | copying TZ string. 2007-10-16 Ulrich Drepper <drepper@redhat.com> * time/tzfile.c (__tzfile_read): Take extra memory requested by caller into account when copying TZ string.
* * sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move Jakub Jelinek2007-10-161-1/+1
| | | | | | PIC indirect jump. * sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move PIC indirect jump.
* * sysdeps/x86_64/memset.S: Jump from bzero to memset using Jakub Jelinek2007-10-161-1/+2
| | | | | | | | a local label rather than HIDDEN_JUMPTARGET. 2007-10-16 Jakub Jelinek <jakub@redhat.com> * sysdeps/x86_64/memset.S: Jump from bzero to memset using a local label rather than HIDDEN_JUMPTARGET.
* * sysdeps/x86_64/cacheinfo.c (__x86_64_shared_cache_size): Define.Ulrich Drepper2007-10-162-110/+1256
| | | | | | | | | | | | | | | | | | (init_cacheinfo): Initialize it. * sysdeps/x86_64/memset.S: Use __x86_64_shared_cache_size. Always define bzero. Remove non-glibc code. * sysdeps/x86_64/bzero.S: Make an empty file. 2007-10-15 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/x86_64/cacheinfo.c (__x86_64_preferred_memory_instruction): New. (init_cacheinfo): Initialize __x86_64_preferred_memory_instruction. * sysdeps/x86_64/memset.S: Rewrite. * nss/getXXbyYY_r.c (REENTRANT_NAME): Mangle startp and start_fct
* Make an empty file.Ulrich Drepper2007-10-161-3/+1
|
* * sysdeps/posix/getaddrinfo.c (struct sort_result): Add cvs/fedora-glibc-20071014T1847Ulrich Drepper2007-10-141-2/+7
| | | | | | | service_order. (rfc3484_sort): Make sure that even of qsort doesn't support stable sorting it is stable by comparing service_order. (getaddrinfo): Initialize service_order.
* * sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC. cvs/fedora-glibc-20071011T1636Jakub Jelinek2007-10-113-3/+4
| | | | | | | | | | | | | | | | | (struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage. * inet/netinet/in.h: Don't include bits/socket.h. * sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H macro. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise. 2007-10-11 Jakub Jelinek <jakub@redhat.com> * sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC. (struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage. * inet/netinet/in.h: Don't include bits/socket.h. * sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H macro. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
* * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Work around problemUlrich Drepper2007-10-101-0/+8
| | | | with some Pentium Ds.
* * sysdeps/unix/sysv/linux/eventfd_read.c (eventfd_read): UseUlrich Drepper2007-10-092-2/+3
| | | | | | __read not read. * sysdeps/unix/sysv/linux/eventfd_write.c (eventfd_write): Use __write not write.
* [BZ #3924]Ulrich Drepper2007-10-071-2/+3
| | | | | | * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Fix a few more little bugs in creating the stack frame when pltexit has to be called.
* [BZ #4407]Ulrich Drepper2007-10-063-5/+19
| | | | | | | | | * sysdeps/ieee754/dbl-64/e_lgamma_r.c: Fix *signgamp for -0.0. * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Likewise. * sysdeps/ieee754/ldbl-96/e_lgammal_r.c: Likewise. * math/libm-test.inc: Add test for this case. Half the patch by Christian Iseli <christian.iseli@licr.org>.
* 2007-10-04 Jakub Jelinek <jakub@redhat.com>Ulrich Drepper2007-10-056-2/+145
| | | | 2007-10-03 Jakub Jelinek <jakub@redhat.com>
* * sysdeps/gnu/netinet/tcp.h: Define TCP_MD5SIG, TCP_MD5SIG_MAXKEYLEN,Ulrich Drepper2007-10-053-2/+32
| | | | | | | | | | | | | struct tcp_md5sig. Extend struct tcp_info according to recent kernels. * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add eventfd, evetnfd_read, eventfd_write. * sysdeps/unix/sysv/linux/eventfd.c: New file. * sysdeps/unix/sysv/linux/eventfd_read.c: New file. * sysdeps/unix/sysv/linux/eventfd_write.c: New file. * sysdeps/unix/sysv/linux/sys/eventfd.h: New file. * sysdeps/unix/sysv/linux/Versions: Export eventfd, evetnfd_read, eventfd_write for GLIBC_2.7.
* * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add signalfd.Ulrich Drepper2007-10-054-1/+95
| | | | | | * sysdeps/unix/sysv/linux/signalfd.c: New file. * sysdeps/unix/sysv/linux/sys/signalfd.h: New file. * sysdeps/unix/sysv/linux/Versions: Export signalfd for GLIBC_2.7.
* * sysdeps/generic/ldsodefs.h (struct dl_scope_free_list): Store cvs/fedora-glibc-20070929T1859Ulrich Drepper2007-09-291-2/+2
| | | | | | | | | | | | | | | | | | | | | void * pointers instead of struct link_map **. (_dl_scope_free): Change argument type to void *. * include/link.h (struct link_map): Change type of l_reldeps to struct link_map_reldeps, move l_reldepsact into that struct too. * elf/dl-deps.c: Include atomic.h. (_dl_map_object_deps): Only change l->l_initfini when it is fully populated, use _dl_scope_free for freeing it. Optimize removal of libs from reldeps by using l_reserved flag, when some removal is needed, allocate a new list instead of reallocating and free the old with _dl_scope_free. Adjust for l_reldeps and l_reldepsact changes. * elf/dl-lookup.c (add_dependency): Likewise. Reorganize to allow searching in l_initfini and l_reldeps without holding dl_load_lock. * elf/dl-fini.c (_dl_sort_fini): Adjust for l_reldeps and l_reldepsact changes. * elf/dl-close.c (_dl_close_worker): Likewise. * elf/dl-open.c (_dl_scope_free): Change argument type to void *.
* * sysdeps/posix/getaddrinfo.c (getaddrinfo): Use Jakub Jelinek2007-09-241-1/+1
| | | | | | | | close_not_cancel_no_status instead of close. 2007-09-24 Jakub Jelinek <jakub@redhat.com> * sysdeps/posix/getaddrinfo.c (getaddrinfo): Use close_not_cancel_no_status instead of close.
* * sysdeps/x86_64/cacheinfo.c (__x86_64_data_cache_size_half): RenamedUlrich Drepper2007-09-222-187/+227
| | | | | | | | | from __x86_64_core_cache_size_half. (init_cacheinfo): Compute shared cache size for AMD processors with shared L3 correctly. * sysdeps/x86_64/memcpy.S: Adjust for __x86_64_data_cache_size_half name change. Patch in large parts by Evandro Menezes.
* * sysdeps/posix/getaddrinfo.c (getaddrinfo): Avoid unnecessaryUlrich Drepper2007-09-191-6/+41
| | | | open/close when determining source addresses.
* * sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup. cvs/fedora-glibc-20070918T1931Jakub Jelinek2007-09-184-18/+2
| | | | | | | | | | * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start): Likewise. * sysdeps/sparc/sparc32/elf/start.S: Remove cfi_* markup. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S (__thread_start): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S (__thread_start): Likewise.
* * sysdeps/generic/ldsodefs.h (DL_LOOKUP_GSCOPE_LOCK): New definition.Ulrich Drepper2007-09-181-1/+3
| | | | | | | | | | | | | | | * elf/dl-runtime.c (_dl_fixup, _dl_profile_fixup): Or in DL_LOOKUP_GSCOPE_LOCK into flags after THREAD_GSCOPE_SET_FLAG (). * elf/dl-sym.c (do_sym): Likewise. * include/link.h (struct link_map): Add l_serial field. * elf/dl-object.c (_dl_new_object): Initialize l_serial. * elf/dl-lookup.c (add_dependency): Add flags argument. Remember map->l_serial, if DL_LOOKUP_GSCOPE_LOCK is among flags, use THREAD_GSCOPE_RESET_FLAG before and THREAD_GSCOPE_SET_FLAG after __rtld_lock_lock_recursive (GL(dl_load_lock)) to avoid deadlock. Don't dereference map until it has been found on some list. If map->l_serial changed, return -1.
* * include/stdio.h (__isoc99_fscanf, __isoc99_scanf,Ulrich Drepper2007-09-1816-3/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __isoc99_sscanf, __isoc99_vscanf): New prototypes. (__isoc99_vsscanf, __isoc99_vfscanf): New prototypes, add libc_hidden_proto. * include/wchar.h (__isoc99_fwscanf, __isoc99_wscanf, __isoc99_swscanf, __isoc99_vwscanf): New prototypes. (__isoc99_vswscanf, __isoc99_vfwscanf): New prototypes, add libc_hidden_proto. * libio/stdio.h (fscanf, scanf, sscanf, vfscanf, vscanf, vsscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX conformance requested. * wcsmbs/wchar.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf): Redirect to __isoc99_* if strict ISO C99 or POSIX conformance requested. * libio/bits/stdio-ldbl.h (fscanf, scanf, sscanf, vfscanf, vscanf, vsscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX conformance requested. * wcsmbs/bits/wchar-ldbl.h (fwscanf, wscanf, swscanf, vfwscanf, vwscanf, vswscanf): Redirect to __nldbl___isoc99_* if strict ISO C99 or POSIX conformance requested. * stdio-common/Versions (libc): Export __isoc99_scanf@@GLIBC_2.7, __isoc99_vscanf@@GLIBC_2.7, __isoc99_fscanf@@GLIBC_2.7, __isoc99_vfscanf@@GLIBC_2.7, __isoc99_sscanf@@GLIBC_2.7 and __isoc99_vsscanf@@GLIBC_2.7. * stdio-common/Makefile (routines): Add isoc99_scanf, isoc99_vscanf, isoc99_fscanf, isoc99_vfscanf, isoc99_sscanf and isoc99_vsscanf. (tests): Add scanf14. (CFLAGS-vfprintf.c, CFLAGS-fprintf.c, CFLAGS-printf.c, CFLAGS-vfwprintf.c, CFLAGS-vfscanf.c, CFLAGS-vfwscanf.c, CFLAGS-fscanf.c, CFLAGS-scanf.c, CFLAGS-isoc99_vfscanf.c, CFLAGS-isoc99_vscanf.c, CFLAGS-isoc99_fscanf.c, CFLAGS-isoc99_scanf.c): Add $(exceptions). (CFLAGS-scanf15.c): Add various -I paths to prevent the compiler from using internal headers. * wcsmbs/Versions (libc): Export __isoc99_wscanf@@GLIBC_2.7, __isoc99_vwscanf@@GLIBC_2.7, __isoc99_fwscanf@@GLIBC_2.7, __isoc99_vfwscanf@@GLIBC_2.7, __isoc99_swscanf@@GLIBC_2.7 and __isoc99_vswscanf@@GLIBC_2.7. * wcsmbs/Makefile (routines): Add isoc99_wscanf, isoc99_vwscanf, isoc99_fwscanf, isoc99_vfwscanf, isoc99_swscanf and isoc99_vswscanf. (CFLAGS-isoc99_wscanf.c, CFLAGS-isoc99_fwscanf.c, CFLAGS-isoc99_vwscanf.c, CFLAGS-isoc99_vfwscanf.c): Add $(exceptions). (CPPFLAGS): Add -D_IO_MTSAFE_IO if needed. * stdio-common/isoc99_scanf.c: New file. * stdio-common/isoc99_vsscanf.c: New file. * stdio-common/isoc99_vscanf.c: New file. * stdio-common/isoc99_vfscanf.c: New file. * stdio-common/isoc99_fscanf.c: New file. * stdio-common/isoc99_sscanf.c: New file. * wcsmbs/isoc99_fwscanf.c: New file. * wcsmbs/isoc99_vswscanf.c: New file. * wcsmbs/isoc99_swscanf.c: New file. * wcsmbs/isoc99_wscanf.c: New file. * wcsmbs/isoc99_vwscanf.c: New file. * wcsmbs/isoc99_vfwscanf.c: New file. * libio/libio.h (_IO_FLAGS2_SCANF_STD): Define. * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Also clear _IO_FLAGS2_SCANF_STD bit from _flags2. * stdio-common/vfscanf.c (_IO_vfscanf_internal): Don't handle %as, %aS and %a[ if _IO_FLAGS2_SCANF_STD is set in _flags2. * stdio-common/scanf14.c: New test. * stdio-common/scanf15.c: New test. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add isoc99_scanf, isoc99_fscanf, isoc99_sscanf, isoc99_vscanf, isoc99_vfscanf, isoc99_vsscanf, isoc99_wscanf, isoc99_fwscanf, isoc99_swscanf, isoc99_vwscanf, isoc99_vfwscanf and isoc99_vswscanf. * sysdeps/ieee754/ldbl-opt/Versions (libc): Export __nldbl___isoc99_scanf@@GLIBC_2.7, __nldbl___isoc99_fscanf@@GLIBC_2.7, __nldbl___isoc99_sscanf@@GLIBC_2.7, __nldbl___isoc99_vscanf@@GLIBC_2.7, __nldbl___isoc99_vfscanf@@GLIBC_2.7, __nldbl___isoc99_vsscanf@@GLIBC_2.7, __nldbl___isoc99_wscanf@@GLIBC_2.7, __nldbl___isoc99_fwscanf@@GLIBC_2.7, __nldbl___isoc99_swscanf@@GLIBC_2.7, __nldbl___isoc99_vwscanf@@GLIBC_2.7, __nldbl___isoc99_vfwscanf@@GLIBC_2.7 and __nldbl___isoc99_vswscanf@@GLIBC_2.7. * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__isoc99_scanf, __isoc99_fscanf, __isoc99_sscanf, __isoc99_vscanf, __isoc99_vfscanf, __isoc99_vsscanf, __isoc99_wscanf, __isoc99_fwscanf, __isoc99_swscanf, __isoc99_vwscanf, __isoc99_vfwscanf, __isoc99_vswscanf): Add NLDBL_DECL. * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___isoc99_scanf, __nldbl___isoc99_fscanf, __nldbl___isoc99_sscanf, __nldbl___isoc99_vscanf, __nldbl___isoc99_vfscanf, __nldbl___isoc99_vsscanf, __nldbl___isoc99_wscanf, __nldbl___isoc99_fwscanf, __nldbl___isoc99_swscanf, __nldbl___isoc99_vwscanf, __nldbl___isoc99_vfwscanf, __nldbl___isoc99_vswscanf): New functions. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c: New file. * sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c: New file. * stdio-common/Makefile (tests): Add scanf13. (scanf13-ENV): New. * stdio-common/vfscanf.c (_IO_vfscanf_internal): Handle m modifier followed by l. (STRING_ARG): Add width argument. (_IO_vfscanf_internal) <case L_('c')>: Handle %mc. <case L_('C')>: Handle %mlc and %mC. <case L_('s'), case L_('S'), case L_('[')>: Adjust STRING_ARG arguments. * stdio-common/scanf13.c: New test. * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): Clear the _IO_FLAGS2_FORTIFY bit from _flags2 rather than _flags. type and __THROW marker of splice, vmsplice, and tee.