Adhemerval Zanella 
							
						 
					 
					
						
						
							
						
						f13fb81ad3 
					 
					
						
						
							
							linux: Remove /proc/cpuinfo fallback on alpha and sparc  
						
						... 
						
						
						
						There is no much gain in fallback to cpuinfo if sysfs is no present,
usually on restricted environment neither will be present.  It also
simplifies the code and make all architecture use the sched_getaffinity
as the sysfs fallback.
Checked on sparc64-linux-gnu. 
						
						
					 
					
						2021-05-07 13:54:11 -03:00 
						 
				 
			
				
					
						
							
							
								Adhemerval Zanella 
							
						 
					 
					
						
						
							
						
						903bc7dcc2 
					 
					
						
						
							
							linux: Use sched_getaffinity for __get_nprocs (BZ  #27645 )  
						
						... 
						
						
						
						Both the sysfs and procfs parsing (through GET_NPROCS_PARSER) are
removed in favor the syscall.  The initial scratch buffer should
fit to most of the common usage (1024 bytes with maps to 8192 CPUs).
Checked on x86_64-linux-gnu and aarch64-linux-gnu. 
						
						
					 
					
						2021-05-07 13:54:09 -03:00 
						 
				 
			
				
					
						
							
							
								Paul Eggert 
							
						 
					 
					
						
						
							
						
						2b778ceb40 
					 
					
						
						
							
							Update copyright dates with scripts/update-copyrights  
						
						... 
						
						
						
						I used these shell commands:
../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright
(cd ../glibc && git commit -am"[this commit message]")
and then ignored the output, which consisted lines saying "FOO: warning:
copyright statement not found" for each of 6694 files FOO.
I then removed trailing white space from benchtests/bench-pthread-locks.c
and iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c, to work around this
diagnostic from Savannah:
remote: *** pre-commit check failed ...
remote: *** error: lines with trailing whitespace found
remote: error: hook declined to update refs/heads/master 
						
						
					 
					
						2021-01-02 12:17:34 -08:00 
						 
				 
			
				
					
						
							
							
								Andreas Schwab 
							
						 
					 
					
						
						
							
						
						b5eeca8cfd 
					 
					
						
						
							
							Fix parsing of /sys/devices/system/cpu/online (bug 25859)  
						
						... 
						
						
						
						The file contains comma-separated ranges, not spaces. 
						
						
					 
					
						2020-12-09 15:32:29 +01:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						d614a75396 
					 
					
						
						
							
							Update copyright dates with scripts/update-copyrights.  
						
						
						
						
					 
					
						2020-01-01 00:14:33 +00:00 
						 
				 
			
				
					
						
							
							
								Adhemerval Zanella 
							
						 
					 
					
						
						
							
						
						f9a7554009 
					 
					
						
						
							
							Change most internal uses of time to __clock_gettime.  
						
						... 
						
						
						
						As for gettimeofday, time will be implemented based on clock_gettime
on all platforms and internal code should use clock_gettime
directly.  In addition to removing a layer of indirection, this will
allow us to remove the PLT-bypass gunk for gettimeofday.
The changed code always assumes __clock_gettime (CLOCK_REALTIME)
or __clock_gettime (CLOCK_REALTIME_COARSE) (for Linux case) cannot
fail, using the same rationale for gettimeofday change.  And internal
helper was added (time_now).
Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
powerpc64-linux-gnu, and powerpc-linux-gnu.
Reviewed-by: Lukasz Majewski <lukma@denx.de > 
						
						
					 
					
						2019-10-30 17:11:10 -03:00 
						 
				 
			
				
					
						
							
							
								Paul Eggert 
							
						 
					 
					
						
						
							
						
						5a82c74822 
					 
					
						
						
							
							Prefer https to http for gnu.org and fsf.org URLs  
						
						... 
						
						
						
						Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:
sed -ri '
  s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
  s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
  $(find $(git ls-files) -prune -type f \
      ! -name '*.po' \
      ! -name 'ChangeLog*' \
      ! -path COPYING ! -path COPYING.LIB \
      ! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
      ! -path manual/texinfo.tex ! -path scripts/config.guess \
      ! -path scripts/config.sub ! -path scripts/install-sh \
      ! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
      ! -path INSTALL ! -path  locale/programs/charmap-kw.h \
      ! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
      ! '(' -name configure \
            -execdir test -f configure.ac -o -f configure.in ';' ')' \
      ! '(' -name preconfigure \
            -execdir test -f preconfigure.ac ';' ')' \
      -print)
and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:
  chmod a+x sysdeps/unix/sysv/linux/riscv/configure
  # Omit irrelevant whitespace and comment-only changes,
  # perhaps from a slightly-different Autoconf version.
  git checkout -f \
    sysdeps/csky/configure \
    sysdeps/hppa/configure \
    sysdeps/riscv/configure \
    sysdeps/unix/sysv/linux/csky/configure
  # Omit changes that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
  git checkout -f \
    sysdeps/powerpc/powerpc64/ppc-mcount.S \
    sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
  # Omit change that caused a pre-commit check to fail like this:
  # remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
  git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S 
						
						
					 
					
						2019-09-07 02:43:31 -07:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						04277e02d7 
					 
					
						
						
							
							Update copyright dates with scripts/update-copyrights.  
						
						... 
						
						
						
						* All files with FSF copyright notices: Update copyright dates
	using scripts/update-copyrights.
	* locale/programs/charmap-kw.h: Regenerated.
	* locale/programs/locfile-kw.h: Likewise. 
						
						
					 
					
						2019-01-01 00:11:28 +00:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						688903eb3e 
					 
					
						
						
							
							Update copyright dates with scripts/update-copyrights.  
						
						... 
						
						
						
						* All files with FSF copyright notices: Update copyright dates
	using scripts/update-copyrights.
	* locale/programs/charmap-kw.h: Regenerated.
	* locale/programs/locfile-kw.h: Likewise. 
						
						
					 
					
						2018-01-01 00:32:25 +00:00 
						 
				 
			
				
					
						
							
							
								H.J. Lu 
							
						 
					 
					
						
						
							
						
						b5648377d9 
					 
					
						
						
							
							Hide internal sysinfo functions [BZ  #18822 ]  
						
						... 
						
						
						
						Hide internal sysinfo functions to allow direct access within libc.so
and libc.a without using GOT nor PLT.
	[BZ #18822 ]
	* include/sys/sysinfo.h (__get_nprocs_conf): Add
	libc_hidden_proto.
	(__get_nprocs): Likewise.
	(__get_phys_pages): Likewise.
	(__get_avphys_pages): Likewise.
	(__get_child_max): Add attribute_hidden.
	* misc/getsysstats.c (__get_nprocs_conf): Add libc_hidden_def.
	(__get_nprocs): Likewise.
	(__get_phys_pages): Likewise.
	(__get_avphys_pages): Likewise.
	* sysdeps/mach/getsysstats.c (__get_nprocs_conf): Add
	libc_hidden_def.
	(__get_nprocs): Likewise.
	(__get_phys_pages): Likewise.
	(__get_avphys_pages): Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Add
	libc_hidden_def.
	(__get_nprocs_conf): Likewise.
	(__get_phys_pages): Likewise.
	(__get_avphys_pages): Likewise. 
						
						
					 
					
						2017-10-01 15:57:21 -07:00 
						 
				 
			
				
					
						
							
							
								Adhemerval Zanella 
							
						 
					 
					
						
						
							
						
						c181840c93 
					 
					
						
						
							
							Consolidate non cancellable close call  
						
						... 
						
						
						
						This patch consolidates all the non cancellable close calls to use
the __close_nocancel{_nostatus} identifier.  For non cancellable targets
it will be just a macro to call the default respective symbol while on Linux
will be a internal one.
Also, since it is used on libcrypto it is also exported in GLIBC_PRIVATE
namespace.
Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
	* sysdeps/generic/not-cancel.h (close_not_cancel): Remove macro.
	(close_not_cancel_no_status): Likewise.
	(__close_nocancel): New macro.
	(__close_nocancel_no_status): Likewise.
	* sysdeps/unix/sysv/linux/not-cancel.h (__close_nocancel): Remove
	macro.
	(close_not_cancel): Likewise.
	(close_not_cancel_no_status): Likewise.
	(__close_nocancel): New prototype.
	(__close_nocancel_no_status): New function.
	* sysdeps/unix/sysv/linux/close.c (__close_nocancel): New function.
	* catgets/open_catalog.c (__open_catalog): Replace
	close_not_cancel{_no_status) with __close_nocancel{_nostatus}.
	* gmon/gmon.c (write_gmon): Likewise.
	* iconv/gconv_cache.c (__gconv_load_cache): Likewise.
	* intl/loadmsgcat.c (close): Likewise.
	* io/ftw.c (open_dir_stream): Likewise.
	(ftw_startup): Likewise.
	* libio/fileops.c (_IO_file_open): Likewise.
	(_IO_file_close_mmap): Likewise.
	(_IO_file_close): Likewise.
	* libio/iopopen.c (_IO_dup2): Likewise.
	* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
	* locale/loadlocale.c (_nl_load_locale): Likewise.
	* login/utmp_file.c (pututline_file): Likewise.
	(endutent_file): Likewise.
	* misc/daemon.c (daemon): Likewise.
	* nscd/nscd_getai.c (__nscd_getai): Likewise.
	* nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise.
	* nscd/nscd_gethst_r.c (nscd_gethst_r): Likewise.
	* nscd/nscd_getpw_r.c (nscd_getpw_r): Likewise.
	* nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
	* nscd/nscd_helper.c (open_socket): Likewise.
	(__nscd_open_socket): Likewise.
	* nscd/nscd_initgroups.c (__nscd_getgrouplist): Likewise.
	* nscd/nscd_netgroup.c (__nscd_setnetgrent): Likewise.
	(__nscd_innetgr): Likewise.
	* nss/nss_db/db-open.c (internal_setent): Likewise.
	* resolv/res-close.c (__res_iclose): Likewise.
	* sunrpc/pm_getmaps.c (pmap_getmaps): Likewise.
	* sysdeps/posix/closedir.c (__closedir): Likewise.
	* sysdeps/posix/getaddrinfo.c (getaddrinfo): Likewise.
	* sysdeps/posix/getcwd.c (__getcwd): Likewise.
	* sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
	(opendir_tail): Likewise.
	* sysdeps/posix/spawni.c (__spawni_child): Likewise.
	* sysdeps/unix/sysv/linux/check_native.c (__check_native): Likewise.
	* sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Likewise.
	* sysdeps/unix/sysv/linux/fips-private.h (fips_enabled_p): Likewise.
	* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
	(gethostid): Likewise.
	* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
	Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
	* sysdeps/unix/sysv/linux/grantpt.c (close_all_fds): Likewise.
	* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
	* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
	Likewise.
	* sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Likewise.
	* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps): Likewise.
	* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
	Likewise.
	* sysdeps/unix/sysv/linux/mq_notify.c (init_mq_netlink): Likewise.
	* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
	Likewise.
	* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
	Likewise.
	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. 
						
						
					 
					
						2017-08-18 18:38:55 -03:00 
						 
				 
			
				
					
						
							
							
								Adhemerval Zanella 
							
						 
					 
					
						
						
							
						
						a748eb31c1 
					 
					
						
						
							
							Consolidate non cancellable read call  
						
						... 
						
						
						
						This patch consolidates all the non cancellable read calls to use
the __read_nocancel identifier.  For non cancellable targets it will
be just a macro to call the default respective symbol while on Linux
will be a internal one.
Also, since it is used on libcrypto it is also exported in GLIBC_PRIVATE
namespace.
Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
	* sysdeps/generic/not-cancel.h (read_not_cancel): Remove macro.
	(__read_nocancel): New macro.
	* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
	__read_nocancel.
	* sysdeps/unix/sysv/linux/not-cancel.h (__read_nocancel): Remove
	macro.
	(__read_nocancel): New prototype.
	* sysdeps/unix/sysv/linux/read.c (__read_nocancel): New function.
	* catgets/open_catalog.c (__open_catalog): Replace read_not_cancel
	with __read_nocancel.
	* intl/loadmsgcat.c (read): Likewise.
	* libio/fileops.c (_IO_file_read): Likewise.
	* locale/loadlocale.c (_nl_load_locale): Likewise.
	* login/utmp_file.c (getutent_r_file): Likewise.
	(internal_getut_r): Likewise.
	(getutline_r_file): Likewise.
	* sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
	* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Likewise.
	* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
	Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Likewise.
	* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
	* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
	Likewise.
	* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
	Likewise.
	* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
	Likewise.
	* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
	Likewise.
	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. 
						
						
					 
					
						2017-08-18 10:31:16 -03:00 
						 
				 
			
				
					
						
							
							
								Adhemerval Zanella 
							
						 
					 
					
						
						
							
						
						c22845744c 
					 
					
						
						
							
							Consolidate non cancellable open call  
						
						... 
						
						
						
						This patch consolidates all the non cancellable open calls to use
the __open_nocancel identifier.  For non cancellable targets it will
be just a macro to call the default respective symbol while on Linux
will be a internal one.
To be consistent with the following non cancellable openat call, a
new __open64_nocancel is also added (although not currently used).
Checked on x86_64-linux-gnu, x86_64-linux-gnu-x32, and i686-linux-gnu.
	* sysdeps/generic/not-cancel.h (open_not_cancel): Remove macro.
	(open_not_cancel_2): Likewise.
	(open_nocancel): New macro.
	(open64_nocancel): Likewise.
	* sysdeps/unix/sysv/linux/not-cancel.h (open_not_cancel): Remove macro.
	(open_not_cancel_2): Likewise.
	(__open_nocancel): New prototype.
	(__open64_nocancel): Likewise.
	* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
	__open_nocancel.
	* sysdeps/unix/sysv/linux/open.c (__open_nocancel): New function.
	* sysdeps/unix/sysv/linux/open64.c (__open64_nocancel): Likewise.
	* catgets/open_catalog.c (__open_catalog): Replace open_not_cancel{_2}
	with __open_nocancel.
	* csu/check_fds.c (check_one_fd): Likewise.
	* gmon/gmon.c (write_gmon): Likewise.
	* iconv/gconv_cache.c (__gconv_load_cached): Likewise.
	* intl/loadmsgcat.c (open): Likewise.
	* libio/fileops.c (_IO_file_open): Likewise.
	* locale/loadarchive.c (_nl_load_locale_from_archive): Likewise.
	* locale/loadlocale.c (_nl_load_locale): Likewise.
	* login/utmp_file.c (setutent_file): Likewise.
	* misc/daemon.c (daemon): Likewise.
	* nss/nss_db/db-open.c (internal_setent): Likewise.
	* sysdeps/mach/hurd/opendir.c (__opendirat): Likewise.
	* sysdeps/posix/libc_fatal.c (__libc_message): Likewise.
	* sysdeps/posix/opendir.c (tryopen_o_directory): Likewise.
	(__opendir): Likewise.
	* sysdeps/posix/spawni.c (__spawni_child): Likewise.
	* sysdeps/unix/sysv/linux/fips-private.h (fips_enable_p): Likewise.
	* sysdeps/unix/sysv/linux/gethostid.c (sethostid): Likewise.
	(gethostid): Likewise.
	* sysdeps/unix/sysv/linux/getloadavg.c (getloadavg): Likewise.
	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
	Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Likewise.
	* sysdeps/unix/sysv/linux/grantpt.c (__close_all_fds): Likewise.
	* sysdeps/unix/sysv/linux/i386/smp.h (is_smp_system): Likewise.
	* sysdeps/unix/sysv/linux/ia64/has_cpuclock.c (has_cpuclock):
	Likewise.
	* sysdeps/unix/sysv/linux/libc_fatal.c (backtrace_and_maps):
	Likewise.
	* sysdeps/unix/sysv/linux/malloc-sysdep.h (check_may_shrink_heap):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c (__get_clockfreq):
	Likewise.
	* sysdeps/unix/sysv/linux/pthread_getname.c (pthread_getname_np):
	Likewise.
	* sysdeps/unix/sysv/linux/pthread_setname.c (pthread_setname_np):
	Likewise.
	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Likewise.
	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): Likewise. 
						
						
					 
					
						2017-08-17 16:50:35 -03:00 
						 
				 
			
				
					
						
							
							
								Florian Weimer 
							
						 
					 
					
						
						
							
						
						1ff6c67a25 
					 
					
						
						
							
							sysconf: Use conservative default for _SC_NPROCESSORS_ONLN [BZ  #21542 ]  
						
						
						
						
					 
					
						2017-07-04 16:12:46 +02:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						bfff8b1bec 
					 
					
						
						
							
							Update copyright dates with scripts/update-copyrights.  
						
						
						
						
					 
					
						2017-01-01 00:14:16 +00:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						f7a9f785e5 
					 
					
						
						
							
							Update copyright dates with scripts/update-copyrights.  
						
						
						
						
					 
					
						2016-01-04 16:05:18 +00:00 
						 
				 
			
				
					
						
							
							
								Rasmus Villemoes 
							
						 
					 
					
						
						
							
						
						0ce657c576 
					 
					
						
						
							
							linux/getsysstats.c: use sysinfo() instead of parsing /proc/meminfo  
						
						... 
						
						
						
						Profiling git's test suite, Linus noted [1] that a disproportionately
large amount of time was spent reading /proc/meminfo. This is done by
the glibc functions get_phys_pages and get_avphys_pages, but they only
need the MemTotal and MemFree fields, respectively. That same
information can be obtained with a single syscall, sysinfo, instead of
six: open, fstat, mmap, read, close, munmap. While sysinfo also
provides more than necessary, it does a lot less work than what the
kernel needs to do to provide the entire /proc/meminfo. Both strace -T
and in-app microbenchmarks shows that the sysinfo() approach is
roughly an order of magnitude faster.
sysinfo() is much older than what glibc currently requires, so I don't
think there's any reason to keep the old parsing code. Moreover, this
makes get_[av]phys_pages work even in the absence of /proc.
Linus noted that something as simple as 'bash -c "echo"' would trigger
the reading of /proc/meminfo, but gdb says that many more applications
than just bash are affected:
Starting program: /bin/bash "-c" "echo"
Breakpoint 1, __get_phys_pages () at ../sysdeps/unix/sysv/linux/getsysstats.c:283
283     ../sysdeps/unix/sysv/linux/getsysstats.c: No such file or directory.
(gdb) bt
So it seems that any application that uses qsort on a moderately sized
array will incur this cost (once), which is obviously proportionately
more expensive for lots of short-lived processes (such as the git test
suite).
[1] http://thread.gmane.org/gmane.linux.kernel/2019285 
Signed-off-by: Rasmus Villemoes <rv@rasmusvillemoes.dk >
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_phys_pages):
	Use sysinfo system call instead of parsing /proc/meminfo.
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_avphys_pages):
	Likewise. 
						
						
					 
					
						2015-09-12 21:09:59 -04:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						b168057aaa 
					 
					
						
						
							
							Update copyright dates with scripts/update-copyrights.  
						
						
						
						
					 
					
						2015-01-02 16:29:47 +00:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						c4eae75271 
					 
					
						
						
							
							Fix __get_nprocs fgets_unlocked namespace (bug 17582).  
						
						... 
						
						
						
						__get_nprocs is called from malloc code, but calls fgets_unlocked,
which is not an ISO C or POSIX function.  This patch fixes it to call
a new __fgets_unlocked name instead.
Note: there are various other uses of fgets_unlocked in glibc's
libraries, and I haven't yet investigated which others might also be
problematic (called directly or indirectly from standard functions)
and so need to change to use __fgets_unlocked.
Tested for x86_64 (testsuite, and that disassembly of installed shared
libraries is unchanged by the patch).
	[BZ #17582 ]
	* libio/iofgets.c [weak_alias && !_IO_MTSAFE_IO]
	(__fgets_unlocked): Add alias of _IO_fgets.  Use libc_hidden_def.
	* libio/iofgets_u.c (fgets_unlocked): Rename to __fgets_unlocked
	and define as weak alias of __fgets_unlocked.  Use
	libc_hidden_weak.
	(__fgets_unlocked): Use libc_hidden_def.
	* include/stdio.h (__fgets_unlocked): Declare.  Use
	libc_hidden_proto.
	* sysdeps/unix/sysv/linux/getsysstats.c (phys_pages_info): Use
	__fgets_unlocked instead of fgets_unlocked.
	* sysdeps/unix/sysv/linux/alpha/getsysstats.c
	(GET_NPROCS_CONF_PARSER): Likewise.
	* sysdeps/unix/sysv/linux/sparc/getsysstats.c
	(GET_NPROCS_CONF_PARSER): Likewise. 
						
						
					 
					
						2014-11-12 22:39:36 +00:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						74385da564 
					 
					
						
						
							
							Remove __ASSUME_O_CLOEXEC / O_CLOEXEC conditionals in sysdeps/unix/sysv/linux/.  
						
						... 
						
						
						
						This patch removes conditionals on __ASSUME_O_CLOEXEC, and on
O_CLOEXEC being defined, in sysdeps/unix/sysv/linux/, now that
O_CLOEXEC support can be unconditionally assumed.
The patch is conservative in what it changes and further followup
cleanups may be possible.  It may be possible to remove dl-opendir.c,
but the patch does not do so, just removing a redundant undefine and
redefine of __ASSUME_O_CLOEXEC.  Also, __ASSUME_O_CLOEXEC is defined
unconditionally for Hurd as well as Linux.  Thus, if we decide that
O_CLOEXEC support is a required feature of any glibc port, we could
remove __ASSUME_O_CLOEXEC and all conditionals on it throughout glibc,
rather than just cleaning up sysdeps/unix/sysv/linux/.
Tested x86_64 that the disassembly of installed shared libraries is
unchanged by this patch.
	* sysdeps/unix/sysv/linux/dl-opendir.c (__ASSUME_O_CLOEXEC): Do
	not undefine and redefine.
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs)
	[O_CLOEXEC]: Make code unconditional.
	(__get_nprocs) [!O_CLOEXEC]: Remove conditional code.
	* sysdeps/unix/sysv/linux/shm_open.c: Do not include
	<kernel-features.h>.
	[O_CLOEXEC && !__ASSUME_O_CLOEXEC] (have_o_cloexec): Remove
	conditional variable definition.
	(shm_open) [O_CLOEXEC]: Make code unconditional.
	(shm_open) [!O_CLOEXEC || !__ASSUME_O_CLOEXEC]: Remove conditional
	code. 
						
						
					 
					
						2014-06-25 20:29:45 +00:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						11b076bbae 
					 
					
						
						
							
							Remove stray includes of kernel-features.h.  
						
						... 
						
						
						
						Now that files using __ASSUME_* macros have been made by
<https://sourceware.org/ml/libc-alpha/2014-06/msg00543.html > to
include <kernel-features.h> directly, any include from a file not
using __ASSUME_* macros can safely be removed (as there will no longer
be some other file relying on indirect inclusion via a header from
which the include is being removed).
This patch removes such unnecessary kernel-features.h includes.
Tested x86_64 that disassembly of installed shared libraries is
unchanged by this patch, except for line numbers in calls to
__assert_fail from libc.so and ld.so.
2014-06-23  Joseph Myers  <joseph@codesourcery.com >
	* nptl/createthread.c: Don't include kernel-features.h.
	* nptl/pthread_cancel.c: Likewise.
	* nptl/pthread_condattr_setclock.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/pt-raise.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/pthread_getcpuclockid.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/pthread_kill.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/pthread_sigqueue.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/raise.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S: Likewise.
	* nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S: Likewise.
	* nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S: Likewise.
	* nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S: Likewise.
	* nptl/sysdeps/unix/sysv/linux/timer_create.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/timer_delete.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/timer_getoverr.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/timer_gettime.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/timer_routines.c: Likewise.
	* nptl/sysdeps/unix/sysv/linux/timer_settime.c: Likewise.
	* nscd/gai.c: Likewise.
	* nss/nss_db/db-open.c: Likewise.
	* sysdeps/generic/ldsodefs.h: Likewise.
	* sysdeps/sh/nptl/tls.h: Likewise.
	* sysdeps/unix/sysv/linux/aarch64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/aarch64/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/adjtime.c: Likewise.
	* sysdeps/unix/sysv/linux/alpha/xstatconv.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/arm/sigcontextinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/check_pf.c: Likewise.
	* sysdeps/unix/sysv/linux/clock_getcpuclockid.c: Likewise.
	* sysdeps/unix/sysv/linux/clock_getres.c: Likewise.
	* sysdeps/unix/sysv/linux/clock_gettime.c: Likewise.
	* sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise.
	* sysdeps/unix/sysv/linux/clock_settime.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-execstack.c: Likewise.
	* sysdeps/unix/sysv/linux/dl-osinfo.h: Likewise.
	* sysdeps/unix/sysv/linux/dl-sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/futimesat.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/poll.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/fxstatat.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/preadv.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/preadv64.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev.c: Likewise.
	* sysdeps/unix/sysv/linux/generic/wordsize-32/pwritev64.c: Likewise.
	* sysdeps/unix/sysv/linux/getcwd.c: Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/i386/xstat.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/system.c: Likewise.
	* sysdeps/unix/sysv/linux/if_index.c: Likewise.
	* sysdeps/unix/sysv/linux/ifaddrs.c: Likewise.
	* sysdeps/unix/sysv/linux/ifreq.c: Likewise.
	* sysdeps/unix/sysv/linux/ldsodefs.h: Likewise.
	* sysdeps/unix/sysv/linux/lutimes.c: Likewise.
	* sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/microblaze/nptl/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/accept4.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/recvmmsg.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/sendmmsg.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/mmap64.c: Likewise.
	* sysdeps/unix/sysv/linux/netlinkaccess.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_mask.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/fe_nomask.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_mask.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/fe_nomask.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Likewise.
	* sysdeps/unix/sysv/linux/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/prof-freq.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/mmap.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/mmap64.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/system.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pread.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pread64.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pwrite.c: Likewise.
	* sysdeps/unix/sysv/linux/sh/pwrite64.c: Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/sigpending.c: Likewise.
	* sysdeps/unix/sysv/linux/sigprocmask.c: Likewise.
	* sysdeps/unix/sysv/linux/sigsuspend.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/system.c: Likewise.
	* sysdeps/unix/sysv/linux/syslog.c: Likewise.
	* sysdeps/unix/sysv/linux/system.c: Likewise.
	* sysdeps/unix/sysv/linux/testrtsig.h: Likewise.
	* sysdeps/unix/sysv/linux/timespec_get.c: Likewise.
	* sysdeps/unix/sysv/linux/ttyname.c: Likewise.
	* sysdeps/unix/sysv/linux/ttyname_r.c: Likewise.
	* sysdeps/unix/sysv/linux/utimensat.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/xstatconv.h: Likewise. 
						
						
					 
					
						2014-06-25 18:09:01 +00:00 
						 
				 
			
				
					
						
							
							
								Meador Inge 
							
						 
					 
					
						
						
							
						
						995a46bbfb 
					 
					
						
						
							
							get_nprocs: Only return explictly set cache values (BZ  #16996 )  
						
						... 
						
						
						
						The implementation of __get_nprocs uses a stactic variable to cache
the value of the current number of processors.  The caching breaks when
'time (NULL) == 0':
  $ cat nproc.c
  #include <stdio.h>
  #include <time.h>
  #include <sys/time.h>
  int main(int argc, char *argv[])
  {
    time_t t;
    struct timeval tv = {0, 0};
    printf("settimeofday({0, 0}, NULL) = %d\n", settimeofday(&tv, NULL));
    t = time(NULL);
    printf("Time: %d, CPUs: %d\n", (unsigned int)t, get_nprocs());
    return 0;
  }
  $ gcc -O3 nproc.c
  $ ./a.out
  settimeofday({0, 0}, NULL) = -1
  Time: 1401311578, CPUs: 4
  $ sudo ./a.out
  settimeofday({0, 0}, NULL) = 0
  Time: 0, CPUs: 0
The problem is with the condition used to check whether a cached
value should be returned or not:
  static int cached_result;
  static time_t timestamp;
  time_t now = time (NULL);
  time_t prev = timestamp;
  atomic_read_barrier ();
  if (now == prev)
    return cached_result;
This patch fixes the problem by ensuring that 'cached_result' has
been set at least once before returning it. 
						
						
					 
					
						2014-06-13 14:02:04 +05:30 
						 
				 
			
				
					
						
							
							
								Allan McRae 
							
						 
					 
					
						
						
							
						
						d4697bc93d 
					 
					
						
						
							
							Update copyright notices with scripts/update-copyrights  
						
						
						
						
					 
					
						2014-01-01 22:00:23 +10:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						60d2f8f3c7 
					 
					
						
						
							
							Use (void) in no-arguments function definitions.  
						
						
						
						
					 
					
						2013-06-08 00:22:23 +00:00 
						 
				 
			
				
					
						
							
							
								Joseph Myers 
							
						 
					 
					
						
						
							
						
						568035b787 
					 
					
						
						
							
							Update copyright notices with scripts/update-copyrights.  
						
						
						
						
					 
					
						2013-01-02 19:05:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Metcalf 
							
						 
					 
					
						
						
							
						
						02a9193863 
					 
					
						
						
							
							Remove duplicate #include <not-cancel.h> in Linux getsysstats.c  
						
						
						
						
					 
					
						2012-05-15 15:02:58 -04:00 
						 
				 
			
				
					
						
							
							
								Paul Eggert 
							
						 
					 
					
						
						
							
						
						59ba27a63a 
					 
					
						
						
							
							Replace FSF snail mail address with URLs.  
						
						
						
						
					 
					
						2012-02-09 23:18:22 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						312be3f9f5 
					 
					
						
						
							
							Clean up internal fopen uses  
						
						... 
						
						
						
						No need to ever not use c and e. 
						
						
					 
					
						2011-11-15 04:24:42 -05:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						d53a73acdb 
					 
					
						
						
							
							Avoid gettimeofday vsyscall  
						
						
						
						
					 
					
						2011-09-06 20:22:37 -04:00 
						 
				 
			
				
					
						
							
							
								H.J. Lu 
							
						 
					 
					
						
						
							
						
						c2344f56e4 
					 
					
						
						
							
							Use __gettimeofday instead of gettimeofday  
						
						
						
						
					 
					
						2011-06-26 03:08:01 -04:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						84e2a551a7 
					 
					
						
						
							
							Use a /sys/devices/system/cpu/online for _SC_NPROCESSORS_ONLN implementation  
						
						
						
						
					 
					
						2011-06-22 10:32:07 -04:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						852eb34d5c 
					 
					
						
						
							
							Rate limit expensive _SC_NPROCESSORS_ONLN computation  
						
						
						
						
					 
					
						2011-06-22 09:50:39 -04:00 
						 
				 
			
				
					
						
							
							
								Ryan S. Arnold 
							
						 
					 
					
						
						
							
						
						3ed8e24122 
					 
					
						
						
							
							Remove incorrect paring of /proc/stat etc.  
						
						
						
						
					 
					
						2010-04-03 19:20:29 -07:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						6a3d03ff58 
					 
					
						
						
							
							* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Make sure there  
						
						... 
						
						
						
						are always at least 4 bytes in the returned line.
2009-04-15  Jakub Jelinek  <jakub@redhat.com >
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Check
	__libc_use_alloca (8192), if the stack is too small use 512 bytes
	instead of 8K.  Stop searching in /proc/stat after hitting first
	line not starting with cpu.
	(next_line): Truncate too long
	lines at buffer size * 3/4 instead of pretending there were line
	breaks inside of large lines. 
						
						
					 
					
						2009-04-15 15:57:47 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						f43b4be655 
					 
					
						
						
							
							* sysdeps/unix/sysv/linux/getsysstats.c (next_line): New function.  
						
						... 
						
						
						
						(GET_NPROCS_PARSER): Change parameters and use next_line.
	(__get_nprocs): Rewrite to not use stdio routines.
	* sysdeps/unix/sysv/linux/sparc/getsysstats.c (GET_NPROCS_PARSER):
	Change parameters and use next_line. 
						
						
					 
					
						2009-02-15 23:43:36 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						0abf17decf 
					 
					
						
						
							
							* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Using  
						
						... 
						
						
						
						/proc is faster and sufficient.  /sys is still needed for
	__get_nprocs_conf. 
						
						
					 
					
						2007-08-01 21:23:59 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						9506149a76 
					 
					
						
						
							
							* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Count  
						
						... 
						
						
						
						total processors using sysfs.
	(__get_nprocs): Use sysfs to determine which processors are online. 
						
						
					 
					
						2007-08-01 02:20:18 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						58d43ba882 
					 
					
						
						
							
							(__get_nprocs): Use /sys filesystem to determine which processors are online.  
						
						
						
						
					 
					
						2007-07-31 22:43:57 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						5c980df9a2 
					 
					
						
						
							
							Don't search for proc mount point.  We assume procfs is mounted at /proc in many other places already.  
						
						
						
						
					 
					
						2006-01-16 16:38:52 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						a334319f65 
					 
					
						
						
							
							(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.  
						
						
						
						
					 
					
						2004-12-22 20:10:10 +00:00 
						 
				 
			
				
					
						
							
							
								Jakub Jelinek 
							
						 
					 
					
						
						
							
						
						0ecb606cb6 
					 
					
						
						
							
							2.5-18.1  
						
						
						
						
					 
					
						2007-07-12 18:26:36 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						ee8449f729 
					 
					
						
						
							
							Update.  
						
						... 
						
						
						
						2003-09-04  Ulrich Drepper  <drepper@redhat.com >
	* libio/libio.h: Define _IO_FLAGS2_NOTCANCEL.
	* libio/fileops.c [_LIBC]: Remove close macro.
	(_IO_file_open): If _IO_FLAGS2_NOTCANCEL is set, use open_not_cancel.
	(_IO_new_file_open): Recognize 'c' flag in mode string.
	(_IO_file_read): If _IO_FLAGS2_NOTCANCEL is set use read_not_cancel.
	(_IO_new_file_write): If _IO_FLAGS2_NOTCANCEL is set use
	write_not_cancel.
	* iconv/gconv_conf.c: Use fopen with 'c' mode flag.
	* inet/rcmd.c: Likewise.
	* inet/ruserpass.c: Likewise.
	* intl/localealias.c: Likewise.
	* malloc/mtrace.c: Likewise.
	* misc/getpass.c: Likewise.
	* misc/getttyent.c: Likewise.
	* misc/mntent_r.c: Likewise.
	* misc/getusershell.c: Likewise.
	* nss/nsswitch.c: Likewise.
	* resolv/res_hconf.c: Likewise.
	* resolv/res_init.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.
	* time/getdate.c: Likewise.
	* time/tzfile.c: Likewise.
	* misc/fstab.h: Undo last change.
	* misc/mntent.h: Likewise.
	* misc/Makefile: Remove CFLAGS-mntent_r.c, CFLAGS-mntent.c, and
	CFLAGS-fstab.c definition.
2003-09-04  Jakub Jelinek  <jakub@redhat.com >
2003-09-03  Ulrich Drepper  <drepper@redhat.com > 
						
						
					 
					
						2003-09-04 08:27:37 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						ff4d6f1bd5 
					 
					
						
						
							
							Update.  
						
						... 
						
						
						
						2003-04-03  Jakub Jelinek  <jakub@redhat.com >
	* pthread.c (pthread_initialize): Unblock __pthread_sig_cancel
	in case the parent blocked it. 
						
						
					 
					
						2003-04-03 18:53:31 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						5a3ab2fc18 
					 
					
						
						
							
							Update.  
						
						... 
						
						
						
						2003-03-21  Ulrich Drepper  <drepper@redhat.com >
	* cancellation.c: Adjust for new form of compare&exchange macros.
	* cleanup_defer.c: Likewise.
	* init.c: Likewise.
	* libc-cancellation.c: Likewise.
	* old_pthread_cond_broadcast.c: Likewise.
	* old_pthread_cond_signal.c: Likewise.
	* old_pthread_cond_timedwait.c: Likewise.
	* old_pthread_cond_wait.c: Likewise.
	* pthread_cancel.c: Likewise.
	* pthread_create.c: Likewise.
	* pthread_detach.c: Likewise.
	* pthread_join.c: Likewise.
	* pthread_key_delete.c: Likewise.
	* pthread_setcancelstate.c: Likewise.
	* pthread_setcanceltype.c: Likewise.
	* pthread_timedjoin.c: Likewise.
	* pthread_tryjoin.c: Likewise.
	* sysdeps/pthread/createthread.c: Likewise. 
						
						
					 
					
						2003-03-21 08:03:25 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						4009bf4044 
					 
					
						
						
							
							Update.  
						
						... 
						
						
						
						2003-03-19  Ulrich Drepper  <drepper@redhat.com >
	* Makefile (distribute): Add include/atomic.h and bits/atomic.h.
	* include/atomic.h: New file.
	* sysdeps/i386/i486/bits/atomic.h: New file.
	* sysdeps/x86_64/bits/atomic.h: New file.
	* sysdeps/s390/bits/atomic.h: New file.
	* sysdeps/sh/bits/atomic.h: New file.
	* sysdeps/ia64/bits/atomic.h: New file.
	* sysdeps/powerpc/bits/atomic.h: New file.
	* sysdeps/generic/bits/atomic.h: New file.
	* sysdeps/i386/i486/atomicity.h: Removed.
	* sysdeps/x86_64/atomicity.h: Removed.
	* sysdeps/s390/s390-32/atomicity.h: Removed.
	* sysdeps/s390/s390-64/atomicity.h: Removed.
	* sysdeps/ia64/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc32/atomicity.h: Removed.
	* sysdeps/powerpc/powerpc64/atomicity.h: Removed.
	* elf/dl-profile.c: Use atomic.h instead of atomicity.h.  Adjust
	use of macros from atomicity.h to new names and semantics.
	* gmon_mcount.c: Likewise.
	* malloc/set-freeres.c: Likewise.
	* nscd/cache.c: Likewise.
	* stdlib/cxa_finalize.c: Likewise.
	* sysdeps/unix/sysv/linux/getsysstats.c: Likewise.
	* sysdeps/mips/ieee754.h: New file, suitable to replace both
	* stdlib/strtod.c (INTERNAL): While eating trailing zeros handle 
						
						
					 
					
						2003-03-20 07:19:17 +00:00 
						 
				 
			
				
					
						
							
							
								Roland McGrath 
							
						 
					 
					
						
						
							
						
						c877418f2e 
					 
					
						
						
							
							* include/libc-symbols.h (__libc_freeres_fn_section, libc_freeres_fn):  
						
						... 
						
						
						
						New macros.
	* elf/dl-close.c (free_mem): Use libc_freeres_fn macro, remove
	text_set_element.
	* elf/dl-libc.c (free_mem): Likewise.
	* iconv/gconv_conf.c (free_mem): Likewise.
	* iconv/gconv_db.c (free_mem): Likewise.
	* iconv/gconv_dl.c (free_mem): Likewise.
	* iconv/gconv_cache.c (free_mem): Likewise.
	* intl/finddomain.c (free_mem): Likewise.
	* intl/dcigettext.c (free_mem): Likewise.
	* locale/setlocale.c (free_mem): Likewise.
	* misc/fstab.c (fstab_free): Likewise.
	* nss/nsswitch.c (free_mem): Likewise.
	* posix/regcomp.c (free_mem): Likewise.
	* resolv/gai_misc.c (free_res): Likewise.
	* stdlib/fmtmsg.c (free_mem): Likewise.
	* sunrpc/clnt_perr.c (free_mem): Likewise.
	* sysdeps/generic/setenv.c (free_mem): Likewise.
	* sysdeps/unix/sysv/linux/shm_open.c (freeit): Likewise.
	* sysdeps/pthread/aio_misc.c (free_res): Likewise.
	* time/tzset.c (free_mem): Likewise.
	* malloc/mtrace.c (release_libc_mem): Add __libc_freeres_fn_section.
	* locale/loadarchive.c (_nl_archive_subfreeres): Likewise.
	* malloc/set-freeres.c (__libc_freeres): Likewise.
	* login/getutent.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutent): Allocate buffer the first time it is run.
	* login/getutid.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutid): Allocate buffer the first time it is run.
	* login/getutline.c: Include stdlib.h instead of stddef.h.
	(buffer): Change into pointer to utmp, add libc_freeres_ptr.
	(__getutline): Allocate buffer the first time it is run.
	* malloc/mtrace.c (malloc_trace_buffer): Change into char *.
	(mtrace): Allocate malloc_trace_buffer.
	* resolv/nsap_addr.c (inet_nsap_ntoa): Decrease size of tmpbuf.
	* resolv/ns_print.c (ns_sprintrrf): Decrease size of t.
	* string/strerror.c: Include libintl.h and errno.h.
	(buf): New variable.
	(strerror): Only allocate buffer if actually needed (unknown error).
	* time/tzfile.c (transitions): Add libc_freeres_ptr.
	(freeres): Remove.
2002-10-25  Jakub Jelinek  <jakub@redhat.com >
	* include/libc-symbols.h (libc_freeres_ptr): New macro.
	* malloc/set-freeres.c (__libc_freeres_ptrs): Define using
	symbol_set_define.
	(__libc_freeres): Free all pointers in that section.
	* Makerules (build-shlib): Add $(LDSEDCMD-$(@F:lib%.so=%).so) to sed
	commands when creating .lds script.
	(LDSEDCMD-c.so): New variable.
	* inet/rcmd.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rcmd_af): Use strdup to allocate ahostbuf.
	* inet/rexec.c (ahostbuf): Change into char *.  Add libc_freeres_ptr.
	(rexec_af): Use strdup to allocate ahostbuf.
	* stdio-common/reg-printf.c (printf_funcs): Remove.
	(__printf_arginfo_table): Change into printf_arginfo_function **.
	Add libc_freeres_ptr.
	(__register_printf_function): Allocate __printf_arginfo_table
	and __printf_function_table the first time it is called.
	* stdio-common/printf-parse.h (__printf_arginfo_table): Change into
	printf_arginfo_function **.
	(parse_one_spec): Add __builtin_expect.
	* grp/fgetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* inet/getnetgrent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* intl/localealias.c (libc_freeres_ptr): Define if !_LIBC.
	(string_space, map): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/efgcvt.c (FCVT_BUFPTR): Add libc_freeres_ptr.
	(free_mem): Remove.
	* misc/mntent.c (getmntent_buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* crypt/md5-crypt.c (libc_freeres_ptr): Define if !_LIBC.
	(buffer): Add libc_freeres_ptr.
	(free_mem): Remove for _LIBC.
	* nss/getXXbyYY.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* nss/getXXent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* pwd/fgetpwent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* resolv/res_hconf.c (ifaddrs): Add libc_freeres_ptr.
	(free_mem): Remove.
	* shadow/fgetspent.c (buffer): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/posix/ttyname.c (getttyname_name): Add libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/getsysstats.c (mount_proc): Add
	libc_freeres_ptr.
	(free_mem): Remove.
	* sysdeps/unix/sysv/linux/ttyname.c (getttyname_name, ttyname_buf): Add
	libc_freeres_ptr.
	(free_mem): Remove.
2002-10-30  Jakub Jelinek  <jakub@redhat.com >
	* malloc/obstack.c [_LIBC] (obstack_free): Change into strong_alias
	instead of duplicating the whole function in libc. 
						
						
					 
					
						2002-11-01 20:44:15 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						6f6867815c 
					 
					
						
						
							
							Update.  
						
						... 
						
						
						
						* sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Avoid
	locking when using mount tab file. 
						
						
					 
					
						2002-09-21 05:30:10 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						27692f8966 
					 
					
						
						
							
							Update.  
						
						... 
						
						
						
						* sysdeps/ieee754/dbl-64/e_pow.c (log1): Define and initialize
	two52 locally.
	(log2): Likewise.
	* sysdeps/ieee754/dbl-64/upow.h: Remove definition of two52.
	Patch by Simon Gee <simong@agile.tv >.
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf):
	Prefer reading /proc/stat since it is more uniform across
	architectures.1
	* manual/texinfo.tex: Update to latest official version. 
						
						
					 
					
						2002-08-24 01:36:09 +00:00 
						 
				 
			
				
					
						
							
							
								Ulrich Drepper 
							
						 
					 
					
						
						
							
						
						2706ee3823 
					 
					
						
						
							
							Update.  
						
						... 
						
						
						
						2001-07-17  Ulrich Drepper  <drepper@redhat.com >
	* inet/rcmd.c (iruserfopen): Disable implicit locking for the stream.
	* inet/ruserpass.c (ruserpass): Likewise.
	* nss/nsswitch.c (nss_parse_file): Likewise.
	* resolv/res_hconf.c (_res_hconf_init): Likewise.
	* resolv/res_init.c (__res_vinit): Likewise.
	* gmon/bb_exit_func.c (__bb_exit_func): Likewise.
	* misc/getpass.c (getpass): Likewise.
	* misc/getusershell.c (initshells): Likewise.
	* misc/getttyent.c (setttyent): Likewise.
	* misc/mntent_r.c (__setmntent): Likewise.
	* time/getdate.c (__getdate_r): Likewise.
	* time/tzfile.c (__tzfile_read): Likewise.
	* iconv/gconv_conf.c (read_conf_file): Likewise.
	* intl/localealias.c (read_alias_file): Disable implicit locking
	for the stream.  Use _unlocked functions for glibc.
	* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs): Disable
	implicit locking for the stream.
	(__get_nprocs_conf): Likewise.
	(phys_pages_info): Likewise. 
						
						
					 
					
						2001-07-17 08:32:35 +00:00 
						 
				 
			
				
					
						
							
							
								Andreas Jaeger 
							
						 
					 
					
						
						
							
						
						41bdb6e20c 
					 
					
						
						
							
							Update to LGPL v2.1.  
						
						... 
						
						
						
						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. 
						
						
					 
					
						2001-07-06 04:58:11 +00:00