PowerPC: Remove 64 bits instructions in PPC32 code

This patch replaces the insrdi by insrwi in powerpc32 assembly.
Remove nested function mi_arena from malloc_info.

The nested function mi_arena was removed from malloc_info
and made into a non-nested static inline function of the same
name with the correct set of arguments passed from malloc_info.
This enables building glibc with compilers that don't support
nested functions. Future work on malloc_info should remove these
functions entirely to support JSON format output. Therefore we
do the minimum required to remove the nested function.
PowerPC: Consolidate NPTL/non versions of vfork
PowerPC: Consolidate NPTL/non versions of clone
PowerPC: Move powerpc64 timer_*.c out of nptl/
PowerPC: Move NPTL ABI headers to sysdeps.
PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files.
Update powerpc-fpu ULPs.
Fix offset computation for append+ mode on switching from read (BZ #16724)

The offset computation in write mode uses the fact that _IO_read_end
is kept in sync with the external file offset.  This however is not
true when O_APPEND is in effect since switching to write mode ought to
send the external file offset to the end of file without making the
necessary adjustment to _IO_read_end.

Hence in append mode, offset computation when writing should only
consider the effect of unflushed writes, i.e. from _IO_write_base to
_IO_write_ptr.

The wiki has a detailed document that describes the rationale for
offsets returned by ftell in various conditions:

https://sourceware.org/glibc/wiki/File%20offsets%20in%20a%20stdio%20stream%20and%20ftell
ARM: Fix handling of concurrent TLS descriptor resolution

The current code for handling concurrent resolution says that the
ABI for _dl_tlsdesc_resolve_hold is the same as that of
_dl_tlsdesc_lazy_resolver. However _dl_tlsdesc_resolve_hold is
called from the trampoline directly rather than the lazy resolver
stub so, for example, r2 has not been pushed so does not needed
to be restored.

This fixes an intermittent failure in nptl/tst-tls3 when building
glibc for arm-linux-gnueabihf with -mtls-dialect=gnu2.

ChangeLog:

2014-05-27  Will Newton  <will.newton@linaro.org>

	[BZ #16990]
	* sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_resolve_hold): Save
	and restore r2 rather than just restoring.
Remove second argument from TLS_INIT_TP macro
Remove duplicate code in elf/dl-deps.c.
SH: Convert fork.c to arch-fork.h
IA64: Convert fork.c to arch-fork.h
tile: Convert fork.c to arch-fork.h
SH: Consolidate NPTL/non versions of clone
Avoid stat/fstat in statvfs/fstatvfs (BZ #15132)

Delay the use of stat/fstat until stat data is required.  When the
kernel returns ST_VALID, stat data is not used by __internal_statvfs.
aarch64: Tabify sysdep-cancel.h
aarch64: Share code in syscall-cancel.h

Fold nocancel and error handling paths.
aarch64: Pass regno parameter to SINGLE_THREAD_P

Use cbz instead of cmp+b.eq.