summaryrefslogtreecommitdiff
path: root/include/libio.h
AgeCommit message (Collapse)Author
2015-09-04Rename bits/stdio-lock.h to stdio-lock.h (bug 14912).Joseph Myers
It was noted in <https://sourceware.org/ml/libc-alpha/2012-09/msg00305.html> that the bits/*.h naming scheme should only be used for installed headers. This patch renames bits/stdio-lock.h to plain stdio-lock.h to follow that convention. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). [BZ #14912] * bits/stdio-lock.h: Move to ... * sysdeps/generic/stdio-lock.h: ...here. (_BITS_STDIO_LOCK_H): Rename macro to _STDIO_LOCK_H. * sysdeps/nptl/bits/stdio-lock.h: Move to ... * sysdeps/nptl/stdio-lock.h: ...here. (_BITS_STDIO_LOCK_H): Rename macro to _STDIO_LOCK_H. * include/libio.h: Include <stdio-lock.h> instead of <bits/stdio-lock.h>. * sysdeps/nptl/fork.c: Likewise. * sysdeps/pthread/flockfile.c: Likewise. * sysdeps/pthread/ftrylockfile.c: Likewise. * sysdeps/pthread/funlockfile.c: Likewise.
2015-09-03Don't include <bits/stdio-lock.h> from installed <libio.h>.Joseph Myers
Every so often someone gets confused by the fact that the installed <bits/stdio-lock.h> header includes the non-installed <lowlevellock.h> header. This inclusion is not in fact a bug, because <bits/stdio-lock.h> only gets included by any header that users should include directly if _IO_MTSAFE_IO is defined, and that's an internal define used when building libio, not a feature test macro it's valid for users to define. However, on general principles it's best to have as little as possible in the installed headers that is inapplicable for valid uses of the installed glibc. This patch moves the include of <bits/stdio-lock.h> to the internal header include/libio.h, so that even if someone defines _IO_MTSAFE_IO it won't get included. This is intended as preparation for stopping <bits/stdio-lock.h> and <bits/libc-lock.h> from being installed at all (after this patch they aren't used in any installed header; formally of course they don't need to be installed even before this patch, but stopping them being installed before removing the #include would just exacerbate the confusion described above), and then moving those out of the bits/ namespace in accordance with the principle that that namespace is only for installed headers. The tests scanf15.c and scanf17.c avoid the internal headers; after this patch that means they need to undefine _IO_MTSAFE_IO as well as _LIBC so as to get a working _IO_lock_t definition for libio.h. This brings them closer to using the headers as an installed program would, which clearly accords with the intent of those tests. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * libio/libio.h [_IO_MTSAFE_IO]: Remove include of <bits/stdio-lock.h> and commented-out include of <comthread.h>. * include/libio.h [!_ISOMAC && _IO_MTSAFE_IO]: Include <bits/stdio-lock.h>. * stdio-common/scanf15.c (_IO_MTSAFE_IO): Undefine. * stdio-common/scanf17.c (_IO_MTSAFE_IO): Likewise.
2012-05-24Remove use of INTDEF/INTUSE in libioAndreas Schwab
2012-02-25First steps to get conformtest fully workingUlrich Drepper
2002-12-20Update.Ulrich Drepper
* include/libio.h [_IO_MTSAFE_IO && _IO_lock_inexpensive]: Redefine _IO_flockifle and _IO_funlockfile as inlines.
2002-08-04Update.Ulrich Drepper
2002-08-04 Jakub Jelinek <jakub@redhat.com> * manual/debug.texi: Fix spelling to programmatically. Reported by <hayastan132@hotmail.com>. * include/libio.h: Add libc_hidden_proto for __uflow. * include/stdio.h: Map fopen, fdopen, fclose, fputs, fsetpos, and fgetpos to _IO_* names. Add libc_hidden_proto for fileno, fwrite, fseek, fflush_unlocked, fread_unlocked, fwrite_unlocked, fgets_unlocked, fputs_unlocked. * include/wchar.h: Add libc_hidden_proto for fputws_unlocked, putwc_unlocked, vswscanf. * libio/iolibio.h: Add libc_hidden_proto for _IO_fputs. * libio/fileno.c: Use <stdio.h> and libc_hidden_def. * libio/fseek.c: Likewise. * libio/fmemopen.c: Include "libioP.h". Call _IO_fopencookie and not fopencookie. * libio/genops.c (__uflow): Add libc_hidden_def. * libio/iofflush_u.c (fflush_unlocked): Likewise. * libio/iofgets_u.c (fgets_unlocked): Likewise. * libio/iofputs_u.c (fputs_unlocked): Likewise. * libio/iofputws_u.c (fputws_unlocked): Likewise. * libio/iofread_u.c (fread_unlocked): Likewise. * libio/iofwrite_u.c (fwrite_unlocked): Likewise. * libio/iovswscanf.c (vswscanf): Likewise. * libio/putwc_u.c (putwc_unlocked): Likewise. * libio/iofputs.c: Use libc_hidden_def instead of INTDEF. * malloc/malloc.c: Redirect fwrite calls to _IO_fwrite. * malloc/mtrace.c: Likewise. * sunrpc/clnt_perr.c: Remove fputs macro. * sunrpc/svc_simple.c: Likewise. * sunrpc/svc_tcp.c: Likewise. * sunrpc/svc_udp.c: Likewise. * sunrpc/xdr_rec.c: Likewise. * sunrpc/xdr_ref.c: Likewise. * iconv/Makefile: Add CPPFLAGS definitions with -DNOT_in_libc for iconv_prog, linereader, and charmap-dir. * locale/Makefile: Likewise for locale and charmap-dir. * malloc/Makefile: Likewise for memusagestat. * nscd/Makefile: Likewise for nscd, nscd_conf, and dbg_log. * sunrpc/Makefile: Likewise for rpc_main. * sysdeps/unix/sysv/linux/Makefile: Likewise for lddlibc4. * timezone/Makefile: Likewise for zic. * stdio-common/perror.c: Avoid multiple calls to fileno_unlocked.
2002-08-04Update.Ulrich Drepper
2002-08-04 Ulrich Drepper <drepper@redhat.com> * elf/dl-addr.c (_dl_addr): Add libc_hidden_def. * elf/dl-close.c (_dl_close): Add libc_hidden_def. * elf/dl-open.c (_dl_open): Add libc_hidden_def. * include/dlfcn.h: Add libc_hidden_proto for _dl_addr, _dl_open, _dl_close. * include/libio.h: Add libc_hidden_proto for __underflow, __wuflow, __wunderflow. * libio/genops.c (__underflow): Add libc_hidden_def. * libio/wgenops.c (__wuflow): Likewise. (__wunderflow): Likewise. * include/obstack.h: Add libc_hidden_proto for _obstack_newchunk. * malloc/obstack.c (_obstack_newchunk): Add libc_hidden_def. * include/stdio.h: Add libc_hidden_proto for __vfscanf. * stdio-common/vfscanf.c (__vfscanf): Add libc_hidden_def. * include/string.h: Add libc_hidden_proto for __strverscmp. * string/strverscmp.c (__strverscmp): Add libc_hidden_def. * include/unistd.h: Add libc_hidden_proto for __sysconf. * sysdeps/generic/sysconf.c (__sysconf): Add libc_hidden_def. * sysdeps/posix/sysconf.c: Likewise. * sysdeps/unix/sysv/irix4/sysconf.c: Likewise. * sysdeps/unix/sysv/sysv4/sysconf.c: Likewise. * include/wctype.h: Use libc_hidden_proto for __iswctype, __iswalnum_l, __iswalpha_l, __iswblank_l, __iswcntrl_l, __iswdigit_l, __iswlower_l, __iswgraph_l, __iswprint_l, __iswpunct_l, __iswspace_l, __iswupper_l, __iswxdigit_l, __towlower_l, __towupper_l. * wcsmbs/wcstype.c (__iswctype): Use libc_hidden_def. * wcsmbs/wcfuncs_l.c: Use libc_hidden_def for all functions. * include/sys/wait.h: Add libc_hidden_proto for __xmknod. * sysdeps/generic/xmknod.c (__xmknod): Add libc_hidden_def. * sysdeps/mach/hurd/xmknod.c: Likewise. * sysdeps/unix/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/alpha/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise. * sunrpc/svc.c: Add missing INTUSE for _authenticate.
2002-08-03Update.Ulrich Drepper
* include/libio.h: New file. * libio/libioP.h (__overflow, __woverflow): Remove libc_hidden_proto. * libio/iolibio.h: #include <libio.h>, not "libio.h". * sysdeps/generic/morecore.c (__sbrk): Add libc_hidden_proto. * sysdeps/unix/bsd/syscalls.list: Remove all __GI_* aliases. * sysdeps/unix/common/syscalls.list: Likewise. * sysdeps/unix/inet/syscalls.list: Likewise. * sysdeps/unix/sysv/irix4/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/mips/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/syscalls.list: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: Likewise. * sysdeps/unix/syscalls.list: Likewise. 2002-08-03 Jakub Jelinek <jakub@redhat.com> the arguments is big enough to cause an overflow.