Commit Graph

28482 Commits

Author SHA1 Message Date
Adhemerval Zanella
10169938b1 powerpc: wordcopy/memmove cleanup for ppc32
This patch cleanup some multiarch code related to memmmove
optimization. Initial IFUNC support added specialized wordcopy
symbols which turned in local IFUNC calls used by memmove default
implementation.  The patch removes the internal IFUNC for wordcopy
symbols and uses local branches in the memmmove optimization instead.
2015-02-09 06:42:28 -05:00
Adhemerval Zanella
8548a53d69 powerpc: multiarch Makefile cleanup for powerpc32
This patch cleanups the multiarch Makefile by putting the wide chars
implementation to correct wcsmbs rule.
2015-02-09 06:42:28 -05:00
Adhemerval Zanella
b269211467 powerpc: wordcopy/memmove cleanup for ppc64
This patch cleanup some multiarch code related to memmmove
optimization. Initial IFUNC support added specialized wordcopy
symbols which turned in local IFUNC calls used by memmove default
implementation.

This change by removing then and used the optimized memmove instead
for supported chips.
2015-02-09 06:42:28 -05:00
Adhemerval Zanella
18e270aada powerpc: Remove POWER7 wordcopy ifunc
This patch remove the POWER7 ifunc wordcopy function
(_wordcopy_*_power7), since now GLIBC provides a optimized memmove/bcopy
for POWER7.
2015-02-09 06:42:28 -05:00
Adhemerval Zanella
6f0993a638 powerpc: Simplify bcopy default implementation
This patch simplify the default bcopy symbol for powerpc64 by just using
memmove instead of implementing using the default bcopy.  Since the
symbol is deprecated, it trades speed by code size.
2015-02-09 06:42:28 -05:00
Adhemerval Zanella
3001e54c57 powerpc: multiarch Makefile cleanup for powerpc64
This patch cleanups the multiarch Makefile by putting the wide chars
implementation to correct wcsmbs rule.
2015-02-09 06:42:27 -05:00
Andreas Schwab
59b61c82fe Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (bug 17912) 2015-02-09 10:41:48 +01:00
Samuel Thibault
28b067571e hurd: fix unwind-resume.c build 2015-02-08 18:46:00 +01:00
Samuel Thibault
ff78268891 hurd: fix unwind-resume.c build 2015-02-08 18:35:54 +01:00
Samuel Thibault
335190fb39 add hurd/hurdsocket.h file missing from a5eb23d 2015-02-08 17:49:16 +01:00
Samuel Thibault
ebd7aede60 Fix time/getdate.c build. 2015-02-08 17:45:25 +01:00
Samuel Thibault
ae20c9a17c hurd: Fix abi-tag, following ba90e05 2015-02-08 05:38:03 +01:00
Samuel Thibault
4fc81a777a hurd: fix tls.h build 2015-02-08 05:06:17 +01:00
Samuel Thibault
a5eb23deb6 hurd: Ignore bytes beyond sockaddr length for AF_UNIX 2015-02-08 04:26:54 +01:00
Paul Eggert
3999d26ead Add ersatz _Static_assert on older C hosts
* misc/sys/cdefs.h (_Static_assert): Define a substitute, if on a
pre-C11 C platform that is not known to support _Static_assert.
2015-02-07 14:43:27 -08:00
Samuel Thibault
f96ec27aa9 hurd: fix compilation of signal.h in C++ 2015-02-07 22:41:23 +01:00
Samuel Thibault
22395607bc hurd: fix compilation of signal.h in C++ 2015-02-07 22:35:35 +01:00
Samuel Thibault
f05826f07f hurd: add basic types for ioctls 2015-02-07 22:26:09 +01:00
Samuel Thibault
e86c5b6459 hurd: support mmap with PROT_NONE 2015-02-07 22:22:40 +01:00
Samuel Thibault
c187253fc2 hurdselect: remove dead code.
This removes code which actually never happens, and is already taken
care of in the function.

This is in the second part of select, when the __mach_msg() function
over the portset has returned something else than MACH_MSG_SUCCESS. I
guess in the past the value returned by __mach_msg() was stored in err,
so this code was necessary to set back err to 0, but now it is stored in
msgerr, so err is already still 0 by default. It can thus never contain
MACH_RCV_TIMED_OUT, i.e. the code is dead. The first case mentioned in
the comment is already handled: on time out with no message, err is
already still the default 0. On time out due to poll, err would still be
0, unless some of the io_select RPCs has returned EINTR, in which case
it contains EINTR. If any other io_select RPCs had returned a proper
answer, got!=0, and thus err is set to 0 just below. The code is thus
indeed not useful any more.
2015-02-07 22:18:03 +01:00
Samuel Thibault
e9a5bc1c18 hurd: fix sigstate locking
It looks like _hurd_thread_sigstate used to return with the sigstate
lock held long ago, but since that's no longer the case, don't unlock
something that isn't locked.

Note that it's unlikely this change fixes anything in practice since
its current implementation (on i386) makes this call a nop.
2015-02-07 22:16:19 +01:00
Samuel Thibault
a9a002fb6c hurdselect: Let select get interrupted by signals
We need to set MACH_RCV_INTERRUPT to avoid __mach_msg just looping on signals,
and then we can handle the interruption.
2015-02-07 22:13:46 +01:00
Samuel Thibault
bd959902bc hurd: map nice levels 1-to-1 with Mach prio levels 2015-02-07 22:09:09 +01:00
Samuel Thibault
d5131d3c1e hurd: allow poll() array bigger than FD_SETSIZE 2015-02-07 22:07:38 +01:00
Samuel Thibault
5d2556c4fa hurd: fix f?chflags prototypes, declare them and their flags 2015-02-07 21:56:15 +01:00
Samuel Thibault
e2049d17a0 hurd: fix build with pthread aio 2015-02-07 21:48:32 +01:00
Roland McGrath
f8d1bb4c25 ARM: Add missing sfi_breg in LDR_GLOBAL macro. 2015-02-06 14:42:18 -08:00
Roland McGrath
022f481264 NPTL: Conditionalize some sanity tests for SIGCANCEL/SIGSETXID. 2015-02-06 12:31:11 -08:00
Roland McGrath
1ac074e66e Conditionalize use of SIGRTMIN in nptl/tst-locale1.c. 2015-02-06 12:30:58 -08:00
Roland McGrath
f50ad78b91 Don't set unused field in rt/tst-timer2. 2015-02-06 12:30:38 -08:00
Roland McGrath
9e7265f4e5 NPTL: Build tests using clone directly only for Linux. 2015-02-06 12:30:23 -08:00
Roland McGrath
62ad2abcd6 Use signal rather than sigaction in nptl/tst-cleanup2. 2015-02-06 12:30:05 -08:00
Roland McGrath
cfa69b0bb2 Conditionalize some tests' use of SA_SIGINFO. 2015-02-06 12:29:50 -08:00
Roland McGrath
8272780608 Do not use SA_NOCLDWAIT in tst-pselect. 2015-02-06 12:29:39 -08:00
Roland McGrath
da3a1594af Move tst-getlogin to login/ subdirectory. 2015-02-06 12:29:27 -08:00
Roland McGrath
b65c0ff9fc Fix libio/tst-atime not to presume ST_NOATIME exists. 2015-02-06 12:24:16 -08:00
Roland McGrath
56606ab3b8 Fix dirent/tst-fdopendir not to presume O_NOATIME exists. 2015-02-06 12:23:35 -08:00
Roland McGrath
ebf7d6eedb Fix nptl/tst-kill5 not to presume SIGRTMAX exists. 2015-02-06 12:22:23 -08:00
Roland McGrath
ca0e0675a7 Clean up nptl/tst-join5 use of nanosleep. 2015-02-06 12:21:38 -08:00
Roland McGrath
8c28bbc6d9 Clean up NPTL system to be compat-only. 2015-02-06 10:53:38 -08:00
Roland McGrath
ec2a88b3c6 Clean up NPTL longjmp to be compat-only. 2015-02-06 10:53:27 -08:00
Roland McGrath
beff1d132c Clean up NPTL fork to be compat-only. 2015-02-06 10:53:07 -08:00
Roland McGrath
ea02c6b812 x86: Clean up __vdso_clock_gettime variable. 2015-02-06 10:44:11 -08:00
Roland McGrath
a1309c2bd0 Exclude rpcent functions and NSS backends for rpc, key when excluding sunrpc. 2015-02-06 10:43:19 -08:00
Roland McGrath
ac9e0e5e40 Clean up sysdep-dl-routines variable. 2015-02-06 10:42:08 -08:00
Carlos O'Donell
ebda2f17ff NEWS: Fix spelling. 2015-02-06 12:59:37 -05:00
Florian Weimer
46d54873c3 NEWS: Also mention CVE-2015-1473 2015-02-06 16:56:53 +01:00
Joseph Myers
1c7a4a51a3 soft-fp: Fix _FP_FMA when product is zero and third argument is finite (bug 17932).
soft-fp's _FP_FMA fails to set the result's exponent for cases where
the result of the multiplication is 0, yielding incorrect (arbitrary,
depending on uninitialized values) results for those cases.  This
affects libm for architectures using soft-fp to implement fma.  This
patch adds the exponent setting and tests for this case.

Tested for ARM soft-float (which uses soft-fp fma), x86_64 and x86 (to
verify not introducing new libm test failures there).

(This bug showed up in testing my patch to move the Linux kernel to
current soft-fp.  math/Makefile has "override CFLAGS +=
-Wno-uninitialized" which would have stopped compiler warnings from
showing up this problem, although I wouldn't be surprised if removing
that shows spurious warnings from this code, if the compiler fails to
follow that various cases where the exponent is uninitialized don't
need it initialized because the class is set to a value meaning the
uninitialized exponent isn't used.)

	[BZ #17932]
	* soft-fp/op-common.h (_FP_FMA): Set exponent of result in case
	where multiplication results in zero and third argument is finite
	and nonzero.
	* math/auto-libm-test-in: Add more tests of fma.
	* math/auto-libm-test-out: Regenerated.
2015-02-06 15:44:07 +00:00
Joseph Myers
61f006c12d soft-fp: Refine FP_EX_DENORM handling for comparisons.
In <https://sourceware.org/ml/libc-alpha/2014-09/msg00488.html>, I
noted that comparisons in soft-fp did not set FP_EX_DENORM unless
denormal operands were flushed to zero.

This patch fixes soft-fp to check for denormal operands for
comparisons and set that exception whenever FP_EX_DENORM is not zero.
In particular, for the one architecture for which the Linux kernel
defines FP_EX_DENORM (alpha), this corresponds to the existing logic
for comparisons and so allows that logic to be replaced by a simple
call to FP_CMP_D when soft-fp is updated in the kernel.

Tested for powerpc (e500) that installed stripped shared libraries are
unchanged by this patch.

	* soft-fp/op-common.h (_FP_CMP_CHECK_DENORM): New macro.
	(_FP_CMP_CHECK_FLUSH_ZERO): Likewise.
	(_FP_CMP): Use_FP_CMP_CHECK_DENORM and _FP_CMP_CHECK_FLUSH_ZERO.
	(_FP_CMP_EQ): Likewise.
	(_FP_CMP_UNORD): Use _FP_CMP_CHECK_DENORM.
2015-02-06 15:41:49 +00:00
Joseph Myers
639e42eb90 soft-fp: Support floating-point extensions without quieting sNaNs.
One special case needed in soft-fp to replace the old version in the
Linux kernel is extending from a narrower floating-point format to a
wider one without quieting signaling NaNs.  (This is for
arch/powerpc/math-emu/lfs.c, where previously it used the old FP_CONV
which didn't do anything special for NaNs, then handled packing
specially for NaNs to avoid quieting at packing time, and discarded
the exceptions from unpacking.)

This patch accordingly refactors FP_EXTEND, creating a separate
_FP_EXTEND_CNAN that offers a choice of how NaNs are handled, with
FP_EXTEND reimplemented as a wrapper that provides the common case of
the IEEE operation that does quiet signaling NaNs and raise exceptions
for them.

Tested for powerpc (e500) that installed stripped shared libraries are
unchanged by this patch.

	* soft-fp/op-common.h (FP_EXTEND): Rename to _FP_EXTEND_CNAN with
	extra argument CHECK_NAN.  Redefine as wrapper around
	_FP_EXTEND_CNAN.
2015-02-06 15:39:17 +00:00