Commit Graph

11701 Commits

Author SHA1 Message Date
Ulrich Drepper
3ab2d57a4d Optimize x86-64 strlen for SSE4.2.
The SSE4.2 implementation is used in the DSO only.  The patch also adds
some infrastructure to be used in similar code later one.
2009-06-05 11:32:00 -07:00
Ulrich Drepper
443caceb35 Fix build problems with old binutils.
Old binutils don't provide IFUNC and don't generate the section start/end
symbols we expect.  At least for now only add the initializer code for
static IFUNC relocations if multi-arch support is requested.
2009-06-05 09:42:32 -07:00
Ulrich Drepper
2f3f7b9da2 More small optimizations for x86-64 strlen. 2009-06-04 16:45:35 -07:00
Ulrich Drepper
747785f2b3 Tiny strlen for x86-64 optimization.
I didn't remove an instruction from a previous version in the final
version.
2009-06-04 10:54:29 -07:00
H.J. Lu
2f083d7511 Test for ELF IFUNC functionality. 2009-06-03 16:21:40 -07:00
Ulrich Drepper
fbb04b35e7 Terminate correct buffer.
Little typo could cause additional characters to be printed.
2009-06-03 08:30:35 -07:00
Ulrich Drepper
3d5243d416 Implement execvpe.
There is some existing practice in other OSes and it's trivial to
implement giving the existing code.  Fixes BZ #10221.
2009-06-02 07:03:02 -07:00
Ulrich Drepper
fd96f06208 Small optimization of STT_GNU_IFUNC handling.
The test to call the indirect function now includes a subtest to
checked whether the symbol is defined.  When coming to that point
this is almost always the case.  The test for STT_GNU_IFUNC on the
other hand rarely is true.  Move it to the front means we don't have
to perform the second test unless really necessary.
2009-06-01 11:49:05 -07:00
Ulrich Drepper
b7629ee33f Better error message for invalid relocatio in static binary. 2009-06-01 11:39:24 -07:00
Ulrich Drepper
8ea2372936 Fix up sched_cpucount in x86-64.
Now that static executables can handle IFUNC functions don't exclude
optimization for sched_cpucount for !SHARED.
2009-05-31 23:46:42 -07:00
Ulrich Drepper
7441470835 Finish IFUNC support for x86 and x86-64.
Add support for the IRELAIVE relocation and IFUNC in static executables.
2009-05-31 23:45:33 -07:00
Ulrich Drepper
963cb6fcb4 Simplify CPUID value handling.
SO far Intel and AMD use exactly the same bits meaning the same
things in CPUID index 1.  Simplify the code.  Should an architecture
come along which doesn't use the same semantics then it must use a
different index value than COMMON_CPUID_INDEX_1.
2009-05-31 17:52:05 -07:00
Andreas Schwab
c16a054d5e Move AC_CANONICAL_HOST before first use of $host and $build. 2009-05-31 16:54:28 -07:00
Ulrich Drepper
7f3394bdf3 Fix errno for boundary conditions in 128-bit long double.
Similar to the changes which went already in for the other formats,
follow POSIX rules for errno.
2009-05-29 12:00:22 -07:00
Ulrich Drepper
b8bb339f7d Implement longjmp checking for s390. 2009-05-29 11:58:04 -07:00
Ulrich Drepper
1de0c16183 Compact cache info data structure for x86/x86-64.
This saves about 1.5kB in the DSO.
2009-05-29 11:53:36 -07:00
Andreas Schwab
38ae768d88 Fix errno for IBM long double.
After the last addition to the math test suite PPC routines haven't
been adjusted so far.
2009-05-22 08:35:15 -07:00
Andreas Schwab
0323b051be Add ___longjmp_chk support for powerpc{32,64}. 2009-05-22 08:28:20 -07:00
Jakub Jelinek
1e1dc4e82d Implement accept4 for more archs using socketcall.
So far accept4 was only supported on archs using socketcall for x86.
This patch adds support for the remaining archs.
2009-05-22 08:25:34 -07:00
Ulrich Drepper
10495c0b0a Handle -g option for IA-64 assembler. 2009-05-21 18:54:05 -07:00
Ulrich Drepper
fa64b7f76b Fix IA-64 memchr read-ahead.
The latest stratcliff extension exposed a bug in the IA-64 memchr which
uses non-speculative loads to prefetch data.  Change the code to use
speculative loads with appropriate fixup.  Fixes BZ 10162.
2009-05-21 18:47:59 -07:00
H.J. Lu
d2812fc6d2 Add ____longjmp_chk support for IA-64. 2009-05-21 18:43:45 -07:00
H.J. Lu
e7535de78f Add missing .text directives.
The ____longjmp_chk functions on x86 and x86-64 were placed in .rodata.str1.1.
2009-05-21 18:38:11 -07:00
Ulrich Drepper
3533b1a6a6 Don't define __ASSUME_ACCEPT4 for IA-64. 2009-05-21 18:23:57 -07:00
Jakub Jelinek
d14eda9310 Remove __NR_accept4 definition.
This definition was meant to be removed before the checkin.  It was
used in the development.
2009-05-21 18:16:59 -07:00
Jakub Jelinek
a2292378d0 Correct socketcall argument for accept4.
The header had the old name (paccept).
2009-05-21 18:15:26 -07:00
Ulrich Drepper
ab09b22159 Sun agreed to a change of the license for the RPC code to a BSD-like license. 2009-05-20 21:57:37 -07:00
Ulrich Drepper
d4ab2f2a30 Danish translation update from translation team. 2009-05-20 07:12:32 -07:00
Kaz Kojima
04733592f8 Add ____longjmp_chk for SH.
Following the previous changes for x86 and x86-64.
2009-05-18 15:44:09 -07:00
Jakub Jelinek
5078fff6c4 Fix forced loop termination in nscd database lookup.
There are two issues with the forced loop exit in the nscd lookup:
1. the estimate of the entry size isn't pessimistic enough for all
   databases, resulting potentially is too early exits
2. the combination of 64-bit process and 32-bit nscd would lead to
   rejecting valid records in the database.
2009-05-18 10:19:50 -07:00
Ulrich Drepper
c457bc139e Fix typos and pretty printing in sys/wait.h. 2009-05-16 12:47:15 -07:00
Ulrich Drepper
8f0d3f499f Non-code changes to stdlib.h. 2009-05-16 12:17:55 -07:00
Ulrich Drepper
a64039b084 Unify __WAIT_INT definition in stdlib.h and sys/wait.h.
This fixes BZ #10159.  The stdlib.h definition was out of date.
2009-05-16 11:39:39 -07:00
Ulrich Drepper
fa546abe9d Move BLOCK_ALIGN* macros back.
The move to nscd-client.h was only needed for some interim version
of the patch.  The final version doesn't need it.  Undo the change.
2009-05-16 10:29:43 -07:00
Ulrich Drepper
95410b7ba2 Fix exit condition.
The patch to bound the search in the nscd caches used a wrong exit
condition.  Fixed now.
2009-05-16 10:10:32 -07:00
Ulrich Drepper
831a40494d Further robustify nscd database lookup.
We can compute an absolute maximum for the number of elements which
can fit into the currently mapped database.  Stop after that many
iterations.
2009-05-15 21:33:43 -07:00
Jakub Jelinek
cfe1fc1013 Robustify libc-side nscd database reader.
The nscd database mapped in processes can change at any time.  We
have to be more vigilant when it comes to using that memory.  Test
the data entries are valid in their entire size, don't read data
again from memory once we verified it, and make sure the trailing
pointer is not going off the deep end.
2009-05-15 21:17:08 -07:00
Jakub Jelinek
3b1b533bc3 Avoid double definition of catomic_compare_and_exchange_val_acq. 2009-05-15 21:08:55 -07:00
Ulrich Drepper
6dd78596d5 ChangeLog entries incorrectly applied. 2009-05-15 21:03:49 -07:00
Ulrich Drepper
bbc5d74dd0 Add test for range error in expm1. 2009-05-15 19:53:09 -07:00
Ulrich Drepper
b50f8e42ba Check for valid stack frame in longjmp.
If longjmp restores the stack frame to an address which is beyond
the stack frame at the time of the longjmp call it would install
an uninitialized stack frame.  If compiled with _FORTIFY_SOURCE
defined, longjmp will now bail out in this situation.
2009-05-15 19:37:13 -07:00
Ulrich Drepper
dc50b6137e Version info change for 2.11 development. 2009-05-15 19:37:12 -07:00
Ulrich Drepper
774f5a3082 Test DSOs for executable stack.
Add a text program, built to run on the host, to check all newly
built DSOs for executable stacks and fail if the stack information
is missing or indicates executable stacks.
2009-05-15 08:48:00 -07:00
Ulrich Drepper
deb84c43b1 * version.h (VERSION): Bump to 2.10.1.
* nss/getXXbyYY_r.c: If NO_COMPAT_NEEDED is defined don't define any
	compatibility functions.
	* nss/getXXent_r.c: Likewise.
	* gshadow/getsgent_r.c: Define NO_COMPAT_NEEDED.
	* gshadow/getsgnam_r.c: Likewise.
	* gshadow/Version: Remove duplicate entries.

	* sysdeps/x86_64/cacheinfo.c (intel_02_cache_info): Add missing entries
	for recent processor.
	* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_cache_info):
	Likewise.
2009-05-10 18:38:52 +00:00
Ulrich Drepper
eb29449a9a * Makeconfig: Undo last change. Add asflags-cpu to ASFLAGS in the
same place we add ASFLAGS-config.
2009-05-09 21:58:12 +00:00
Ulrich Drepper
deb318c255 * version.h (VERSION): Bump for 2.10 release.
* include/features.h (__GLIBC_MINOR__): Bump to 10.
2009-05-09 17:40:57 +00:00
Ulrich Drepper
cf4f16cc88 [BZ #10128]
2009-05-05  Aurelien Jarno  <aurelien@aurel32.net>
	[BZ #10128]
	* resolv/res_query.c (__libc_res_nquery): If one query returns NOTIMP
	or FORMERR and the other NOERROR, don't raise an error.
2009-05-09 16:12:41 +00:00
Ulrich Drepper
23b6b46646 [BZ #10118]
2009-05-06  Ryan S. Arnold  <rsa@us.ibm.com>
	[BZ #10118]
	* Makeconfig (+asflags): New variable based upon ASFLAG or
	asflags-cpu.
	(ASFLAGS): Add override to set ASFLAGS to +asflags.
	* config.make.in (asflags-cpu): Add variable based upon
	@libc_cv_cc_submachine@ to propagate -mcpu=CPU from --with-cpu=CPU to
	the assembler.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/setcontext.S:
	Remove unneeded file now that the assembler emits _ARCH_PWR6 and
	recognizes power6 instruction set due to passing -mcpu=power6 from
	--with-cpu=power6 when compiling .S files.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/power6/fpu/swapcontext.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/setcontext.S:
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/fpu/swapcontext.S:
	Likewise.
2009-05-09 15:59:55 +00:00
Ulrich Drepper
15417de3e0 * string/stratcliff.c (do_test): Test for zero length
STRNLEN, MEMCHR, STRNCPY, STPNCPY, MEMCPY, MEMPCPY and memccpy
	at the end of the page.
2009-05-09 14:45:07 +00:00
Ulrich Drepper
4300afc169 * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_RANDOM. 2009-05-09 06:54:31 +00:00