Commit Graph

24508 Commits

Author SHA1 Message Date
Roland McGrath
5a4aaa33b7 Fix ChangeLog format. 2012-08-22 09:24:51 -07:00
Will Schmidt
15d0da8cb3 Add versions of wcscpy, wcschr, wcsrchr for power6/power7.
Initially based on the versions found in wcsmbs/* ; these files have
been changed by hand unrolling, and adding some additional variables
to allow some read-ahead to occur, which then relieves some of the
wait-for-increment/wait-for-load/wait-for-compare-results pressure
that was slowing down every iteration through the while-loop.

For 64-bit Power7, These changes give an approx 20% throughput boost
for the wcschr and wcsrchr functions; and approx 40% boost for the
wcscpy function.  32-bit improvements appear to be slightly better
with ~ %30 and ~ %45 respectively.  Results for Power6 closely match
those for power7.
2012-08-22 11:04:42 -05:00
Maxim Kuvyrkov
bcca089526 Micro-optimize critical path of strstr, strcase and memmem. 2012-08-21 18:07:47 -07:00
Maxim Kuvyrkov
99677e5755 Use pointers for traversing arrays in strstr, strcasestr and memmem. 2012-08-21 18:07:47 -07:00
Maxim Kuvyrkov
400726deef Detect EOL on-the-fly in strstr, strcasestr and memmem. 2012-08-21 18:07:47 -07:00
Maxim Kuvyrkov
20a71f2c8a Optimize first-character loop of strstr, strcasestr and memmem. 2012-08-21 18:07:47 -07:00
Roland McGrath
21ad055803 Support static IFUNC calls irrespective of USE_MULTIARCH. 2012-08-21 15:01:27 -07:00
Joseph Myers
0e1d99119e Remove __ASSUME_FADVISE64_64_SYSCALL. 2012-08-21 21:07:22 +00:00
Will Schmidt
14a50c9d23 [Powerpc] Tune/optimize powerpc{32,64}/power7/memchr.S.
Assorted tweaking, twisting and tuning to squeeze a few additional cycles
out of the memchr code.   Changes include bypassing the shift pairs
(sld,srd) when they are not required, and unrolling the small_loop that
handles short and trailing strings.

Per scrollpipe data measuring aligned strings for 64-bit, these changes
save between five and eight cycles (9-13% overall) for short strings (<32),
Longer aligned strings see slight improvement of 1-3% due to bypassing the
shifts and the instruction rearranging.
2012-08-21 14:20:55 -05:00
Roland McGrath
696da85994 Fix typos in manual wrt syslog. 2012-08-20 12:44:59 -07:00
Roland McGrath
c0f4faf046 Fix conditional on using DSOCAPS to match condition on defining it. 2012-08-20 09:51:04 -07:00
Joseph Myers
a35cbf28fb Remove __ASSUME_SWAPCONTEXT_SYSCALL. 2012-08-20 14:39:53 +00:00
Joseph Myers
445f7ecd66 Define __ASSUME_UTIMES for s390. 2012-08-20 14:38:48 +00:00
Joseph Myers
348363b2c3 Remove __ASSUME_MMAP2_SYSCALL. 2012-08-20 14:37:27 +00:00
Andreas Krebbel
bc5bc0e510 S/390: Remove 32 bit getrlimit.c. 2012-08-20 15:10:13 +02:00
Joseph Myers
9b272d57a2 Add bug number to NEWS. 2012-08-19 15:34:59 +00:00
Andreas Jaeger
88d506def0 Fix last patch: Add missing DUMMY variable 2012-08-18 18:01:46 +02:00
Mike Frysinger
493387d21f add attribute_hidden to __have_{sock_cloexec,pipe2,dup3
These internal knobs are not exposed as part of the public ABI, so mark
them hidden to avoid generating relocations against them.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-18 01:54:12 -04:00
Mike Frysinger
a277af22ea split assume pipe2/dup3/sock_cloexec knobs
We can't assume sock_cloexec and pipe2 are bound together as the former
defines are found in glibc only while the latter are a combo of kernel
headers and glibc.  So if we do a runtime detection of SOCK_CLOEXEC, but
pipe2() is a stub inside of glibc, we hit a problem.  For example:

main()
{
	getgrnam("portage");
	if (!popen("ls", "r"))
		perror("popen()");
}

getgrnam() will detect that the kernel supports SOCK_CLOEXEC and then set
both __have_sock_cloexec and __have_pipe2 to true.  But if glibc was built
against older kernel headers where __NR_pipe2 does not exist, glibc will
have a ENOSYS stub for it.  So popen() will always fail as glibc assumes
pipe2() works.

While this isn't too much of an issue for some arches as they added the
functionality to the kernel at the same time, not all arches are that
lucky.

Since the code already has dedicated names for each feature, delete the
defines wiring these three features together and make each one a proper
dedicated knob.

We've been carrying this in Gentoo since glibc-2.9.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-18 00:35:47 -04:00
Mike Frysinger
fdab8fd335 update linux nice.c include path too after recent file shuffle
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-08-17 22:42:49 -04:00
Marek Polacek
31035e80a4 Quash warning in s_sincosl. 2012-08-17 23:44:53 +02:00
Roland McGrath
e3b398f925 Adjust old #include's of sysdeps/unix/time.c to point to sysdeps/posix/time.c instead. 2012-08-17 14:16:12 -07:00
Roland McGrath
c91c505f22 Make sysheaders available in config.make. 2012-08-17 14:05:53 -07:00
Roland McGrath
7c6f9d53c1 Move some things from sysdeps/unix to sysdeps/posix. 2012-08-17 13:52:32 -07:00
Roland McGrath
3bd9e9931b Fix rule dependency in last change. 2012-08-17 13:42:27 -07:00
Jeff Law
d1f0938405 2012-08-17 Jeff Law <law@redhat.com>
* intl/Makefile (codeset_mo): New variable.
	($(codeset_mo)): New target.
	(tst-codeset.out): Depend on that.  Remove explicit rule.
	(tst-gettext3.out, tst-gettext5.out): Likewise.
	(LOCPATH-ENV, tst-codeset-ENV): New variables.
	(tst-gettext3-ENV, tst-gettext5-ENV): Likewise.
	* intl/tst-codeset.sh: Remove.
	* intl/tst-gettext3.sh: Likewise.
	* intl/tst-gettext5.sh: Likewise.
2012-08-17 14:32:19 -06:00
Roland McGrath
c31fdb83d2 Merge unix/inet/syscalls.list into unix/syscalls.list. 2012-08-17 12:56:33 -07:00
Roland McGrath
fbc723bb37 Fix typo in last change. 2012-08-17 11:49:00 -07:00
Roland McGrath
a084405777 Fix getaddrinfo for [!_STATBUF_ST_NSEC] case. 2012-08-17 11:47:06 -07:00
Roland McGrath
750c1f2a9a Make malloc build for no-threads configurations. 2012-08-17 11:29:45 -07:00
Roland McGrath
2ae1ae5cf4 Change type of constant to avoid a warning. 2012-08-17 11:17:04 -07:00
Roland McGrath
e66a42f57f Split sys/param.h out into common file and sysdeps bits/param.h file. 2012-08-17 09:55:17 -07:00
Roland McGrath
b7c08a66f6 Add a cast to silence a warning. 2012-08-17 09:49:37 -07:00
Roland McGrath
b2e1c56272 Make libio compile without _IO_MTSAFE_IO. 2012-08-17 09:35:36 -07:00
Roland McGrath
c75ccd4c3a Clean up definition of _LIBC_REENTRANT and _IO_MTSAFE_IO. 2012-08-17 09:35:15 -07:00
Gary Benson
d9195db871 Also set r->r_map when unmapping the first object in a namespace.
When unmapping the first object in a namespace, the runtime linker
did not update the externally visible pointer.  This resulted in
debuggers seeing pointers to memory that had been freed.
2012-08-17 11:44:37 +01:00
Roland McGrath
86466cd930 Do not pollute name space with internal_*netgrent functions. 2012-08-16 15:38:45 -07:00
Joseph Myers
c3c8283c06 Update longlong.h from GCC. 2012-08-16 21:37:04 +00:00
Roland McGrath
db1ee0a836 Suppress -Wunused-but-set warnings in GMP code. 2012-08-16 14:08:47 -07:00
Carlos O'Donell
30f696374d Fifth argument of la_pltenter() is not constant.
The original runtime linker auditing interface described
by Solaris allows the 5th argument of la_pltenter() to be
modified. This patch cleans up the ldsodefs.h definitions
such that the 5th argument is not constant.

At one point the 5th argument *was* constant but this was
changed with commit 2413fdba7a.
This patch updates alpha, ia64, mips, sh and sparc with similar
changes.
2012-08-16 08:41:05 -07:00
Joseph Myers
93a78ac437 Remove __ASSUME_POSIX_TIMERS. 2012-08-16 14:03:43 +00:00
Roland McGrath
4b4f2771c2 Fix dl-load.c for [!_LIBC_REENTRANT] case. 2012-08-15 17:05:10 -07:00
Roland McGrath
601c888b2f Define __rtld_lock_initialize in stub bits/libc-lock.h file. 2012-08-15 17:03:56 -07:00
Roland McGrath
176790a734 Add a missing #include to dl-sym.c. 2012-08-15 17:02:22 -07:00
Maxim Kuvyrkov
309becf120 Optimize __libc_lock_lock and __libc_lock_trylock for MIPS. 2012-08-15 16:44:30 -07:00
Maxim Kuvyrkov
ef4009734b Add generic versions of pthread_spin_lock and pthread_spin_trylock. 2012-08-15 16:29:06 -07:00
Roland McGrath
329bc01868 Suppress regcomp.c warnings in 32-bit builds. 2012-08-15 16:03:58 -07:00
Roland McGrath
e04e272d21 Define O_DSYNC and O_RSYNC in generic/4.4 bits/fcntl.h file. 2012-08-15 15:47:52 -07:00
Roland McGrath
952bf94a28 Move stub lseek.c to the right directory. 2012-08-15 15:40:06 -07:00
Roland McGrath
7c99b50ae4 Fix stub clock_nanosleep #include. 2012-08-15 15:35:16 -07:00