hurd: Do not allow unmapping address 0

	* sysdeps/mach/munmap.c (__munmap): Return EINVAL if `addr' is 0.
hurd: Move dtv, dtv_t, tcbhead_t declaration to per-arch file.
hurd: Add i386 fields to TLS structure

	* sysdeps/mach/hurd/i386/tls.h (tcbhead_t): Add multiple_threads,
	sysinfo, stack_guard, pointer_guard, gscope_flag, private_futex,
	__private_tm, __private_ss fields.
Save/restore bound registers for _dl_runtime_profile

This patch saves and restores bound registers in x86-64 PLT for
ld.so profile and LD_AUDIT:

	* sysdeps/x86_64/bits/link.h (La_x86_64_regs): Add lr_bnd.
	(La_x86_64_retval): Add lrv_bnd0 and lrv_bnd1.
	* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Save
	Intel MPX bound registers before _dl_profile_fixup.
	* sysdeps/x86_64/dl-trampoline.h: Restore Intel MPX bound
	registers after _dl_profile_fixup.  Save and restore bound
	registers bnd0/bnd1 when calling _dl_call_pltexit.
	* sysdeps/x86_64/link-defines.sym (BND_SIZE): New.
	(LR_BND_OFFSET): Likewise.
	(LRV_BND0_OFFSET): Likewise.
	(LRV_BND1_OFFSET): Likewise.