Fix ldbl-128 powl sign of result in overflow / underflow cases (bug 17097).

This patch fixes bug 17097, ldbl-128 powl producing overflowing /
underflowing results with positive sign when the result should have
been negative.  This was shown up by the tests in non-default rounding
modes added by my patch for bug 16315, but isn't actually limited to
non-default rounding modes: rather, when rounding to nearest the
wrappers produced a result with the correct sign and so always hid the
bug unless -lieee was used to disable the wrappers.  The problem is
that in the cases where Y is large enough that the result overflows or
underflows for X not very close to 1, but not large enough to overflow
or underflow for all X != +/- 1 (in the latter case Y is always an
even integer), a positive overflowing / underflowing result is always
returned, rather than one with the correct sign.  This patch moves the
relevant part of computation of the sign earlier and returns a result
of the correct sign.

Tested for mips64.

	[BZ #17097]
	* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Return
	result with correct sign in case of exponents that produce
	overflow except for X very close to 1.
sysdeps/unix/sysv/linux/bits/socket.h: Correct formatting

	* sysdeps/unix/sysv/linux/bits/socket.h: Adjust macro formatting
	throughout.
Rename soft-fp extended.h, op-common.h variables to avoid risk of shadowing.

In <https://sourceware.org/ml/libc-alpha/2013-06/msg00851.html>, I
fixed a bug caused by multiple soft-fp macros using the same variable
names, resulting in shadowing when one macro called another that used
the same variable name, with an argument involving the variable in the
outer macro.  The fix was to rename the local variables so their names
included the containing macro name, to ensure uniqueness.

I noted then that this would make sense more systematically for all
variables in any soft-fp macro.  Since then, I've used such variable
names in new soft-fp macros.  This patch now converts existing macros
in extended.h and op-common.h to use this convention.  (op-[1248].h
are intended to be converted separately.)

(Name conflicts could arise for label names as well, but because those
are function-scope in C any such conflict will give an immediate
compile error rather than a subtle bug, so there's no need for
preemptive renaming in that case.)

Tested for powerpc32 (soft-float) and mips64 that this makes no change
to the disassembly of installed shared libraries.

	* soft-fp/extended.h (FP_UNPACK_RAW_E): Rename local variables to
	include macro name.
	(FP_UNPACK_RAW_EP): Likewise.
	(FP_PACK_RAW_E): Likewise.
	(FP_PACK_RAW_EP): Likewise.
	* soft-fp/op-common.h (_FP_UNPACK_CANONICAL): Likewise.
	(_FP_ISSIGNAN): Likewise.
	(_FP_ADD_INTERNAL): Likewise.
	(_FP_FMA): Likewise.
	(_FP_CMP): Likewise.
	(_FP_SQRT): Likewise.
	(_FP_TO_INT): Likewise.
	(_FP_FROM_INT): Likewise.
	(FP_EXTEND): Likewise.
	(_FP_DIV_MEAT_N_loop): Likewise.
Rename soft-fp op-[1248].h variables to avoid risk of shadowing.

Continuing the soft-fp variable renaming from
<https://sourceware.org/ml/libc-alpha/2014-06/msg00434.html> to avoid
shadowing if two macros happen to use the same variable name and that
variable is involved in an argument one of those macros passes to
another, this patch renames variables in op-[1248].h.  (The two
patches are to different files and are independent of each other.)

Tested for powerpc32 (soft-float) and mips64 that this makes no change
to the disassembly of installed shared libraries.

	* soft-fp/op-1.h (_FP_UNPACK_RAW_1): Rename local variables to
	include macro name.
	(_FP_UNPACK_RAW_1_P): Likewise.
	(_FP_PACK_RAW_1): Likewise.
	(_FP_PACK_RAW_1_P): Likewise.
	(_FP_MUL_MEAT_1_wide): Likewise.
	(_FP_MUL_MEAT_DW_1_hard): Likewise.
	(_FP_MUL_MEAT_1_hard): Likewise.
	(_FP_DIV_MEAT_1_imm): Likewise.
	(_FP_DIV_MEAT_1_udiv_norm): Likewise.
	(_FP_DIV_MEAT_1_udiv): Likewise.
	* soft-fp/op-2.h (__FP_FRAC_DEC_2): Likewise.
	(_FP_UNPACK_RAW_2): Likewise.
	(_FP_UNPACK_RAW_2_P): Likewise.
	(_FP_PACK_RAW_2): Likewise.
	(_FP_PACK_RAW_2_P): Likewise.
	(_FP_MUL_MEAT_DW_2_wide): Likewise.
	(_FP_MUL_MEAT_2_wide): Likewise.
	(_FP_MUL_MEAT_DW_2_wide_3mul): Likewise.
	(_FP_MUL_MEAT_2_wide_3mul): Likewise.
	(_FP_MUL_MEAT_DW_2_gmp): Likewise.
	(_FP_MUL_MEAT_2_gmp): Likewise.
	(_FP_DIV_MEAT_2_udiv): Likewise.
	* soft-fp/op-4.h (_FP_FRAC_SLL_4): Likewise.
	(_FP_FRAC_SRL_4): Likewise.
	(_FP_FRAC_SRST_4): Likewise.
	(_FP_FRAC_SRS_4): Likewise.
	(_FP_UNPACK_RAW_4): Likewise.
	(_FP_UNPACK_RAW_4_P): Likewise.
	(_FP_PACK_RAW_4): Likewise.
	(_FP_PACK_RAW_4_P): Likewise.
	(_FP_MUL_MEAT_DW_4_wide): Likewise.
	(_FP_MUL_MEAT_4_wide): Likewise.
	(_FP_MUL_MEAT_4_gmp): Likewise.
	(umul_ppppmnnn): Likewise.
	(_FP_DIV_MEAT_4_udiv): Likewise.
	(__FP_FRAC_ADD_4): Likewise.
	(__FP_FRAC_SUB_3): Likewise.
	(__FP_FRAC_SUB_4): Likewise.
	(__FP_FRAC_DEC_3): Likewise.
	(__FP_FRAC_DEC_4): Likewise.
	(__FP_FRAC_ADDI_4): Likewise.
	* soft-fp/op-8.h (_FP_FRAC_SLL_8): Likewise.
	(_FP_FRAC_SRL_8): Likewise.
	(_FP_FRAC_SRS_8): Likewise.
Fix ldbl-128 expm1l spurious underflow (bug 16539).

This patch fixes spurious underflows from ldbl-128 expm1l, as reported
in <https://sourceware.org/ml/libc-alpha/2014-06/msg00835.html> and
exposed by the tests added for such a bug in the x86 / x86-64
version.  The bug and fix are essentially the same, so no separate bug
is filed in Bugzilla.

Tested for mips64.

	[BZ #16539]
	* sysdeps/ieee754/ldbl-128/s_expm1l.c: Include <float.h>.
	(__expm1l): Return argument unchanged when small but not
	subnormal.
ARM: Split Linuxism out of sysdeps/arm/nptl/tls.h
test-skeleton: Kill any child process's offspring

This makes sure any subprocesses created by the program being tested get
killed as well if their parent times out.  Otherwise if they are really
stuck, they may remain there running forever after the test case and
then the whole test suite has completed, until killed by hand.

	* test-skeleton.c (signal_handler): Kill the whole process group
	before killing the child individually.
	(main): Report any failure on `setpgid'.
Regenerate ARM libm-test-ulps.

This patch regenerates libm-test-ulps for ARM.  As before it may be
useful for someone building for a configuration with VFMA enabled to
do a followup regeneration for any additional ulps in that
configuration.

Committed.

	* sysdeps/arm/libm-test-ulps: Regenerated.
Regenerate powerpc-nofpu libm-test-ulps.

This patch regenerates libm-test-ulps for powerpc-nofpu.

	* sysdeps/powerpc/nofpu/libm-test-ulps: Regenerated.
Regenerate MIPS libm-test-ulps.

This patch regenerates libm-test-ulps for MIPS.

	* sysdeps/mips/mips32/libm-test-ulps: Regenerated.
	* sysdeps/mips/mips64/libm-test-ulps: Likewise.
Update powerpc-fpu ULPs.
MicroBlaze: Add missing sysdep-cancel.h implementation

And update socket.S, Makefile to use *_nocancel definitions.

Absence of sysdep-cancel.h was not apparent until Roland's
not-cancel.h unification.

2014-06-30  David Holsgrove  <david.holsgrove@xilinx.com>

  * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: New file
  * sysdeps/unix/sysv/linux/microblaze/socket.S: Update SINGLE_THREAD_P
  * sysdeps/unix/sysv/linux/microblaze/Makefile: Add to libpthread-routines

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
MicroBlaze: Convert fork.c to arch-fork.h
MicroBlaze: Define TLS_DEFINE_INIT_TP
MicroBlaze: Move NPTL public headers to sysdeps/microblaze/nptl/.
MicroBlaze: Consolidate NPTL/non versions of vfork
MicroBlaze: Consolidate nptl/ subdirectories under linux/...

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
MicroBlaze: Update kernel-features.h for syscalls added in 3.15

Now that the MicroBlaze 3.15 kernel has the pselect6, preadv and
pwritev syscalls, this patch updates kernel-features.h so they are
assumed to be present for 3.15 and later kernels.

2014-06-17  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PSELECT): Do not
	undefine.
	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PREADV): Likewise.
	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PWRITEV): Likewise.

Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
Remove MULTI_PTRS_ARE_ALIASES in dns-hosts.c

The code in gethnamaddr.c for gethostbyaddr used and set this macro to
allow multiple PTR records to be added as aliases.  This was useful
for gethostbyaddr since it returns a hostent structure, which can
return aliases.

The gethnamaddr.c source however is unused in glibc since pretty much
forever.  Instead, the DNS lookup bits for gethostbyaddr (as well as
getnameinfo) are implemented in dns-hosts.c and in that implementation
all but one (the first one) of the multiple PTR records are ignored.
Since gethnamaddr.c is essentially dead code, ignore that
implementation and replace the MULTI_PTRS_ARE_ALIASES bit with a
comment mentioning that bind adds PTR records as aliases while we
don't.
S/390: Regenerate ULPs