HPPA: fix tdep_put_unwind_info() macro

In file included from mi/Lput_dynamic_unwind_info.c:4:
mi/Gput_dynamic_unwind_info.c:48:40: error: macro "tdep_put_unwind_info" passed 3 arguments, but takes just 2
HPPA: add `global_cache' member to unw_addr_space struct

dwarf/Gparser.c: In function 'get_rs_cache':
dwarf/Gparser.c:522: error: 'struct unw_addr_space' has no member named 'global_cache'
HPPA: include `mempool.h' in `libunwind_i.h'

dwarf/Gfde.c: In function '_Uhppa_dwarf_extract_proc_info_from_fde':
dwarf/Gfde.c:335: warning: implicit declaration of function 'mempool_alloc'
Add PPC namespace checking

PPC is the only architecture that has the get_func_addr() symbol
exported, so add specific checks for this architecture.
Ignore _fbss, _fdata, _ftext and _gp symbols on MIPS
Eliminate unused parameters in tests
Annotate unused parameters in tests

Compiling the tests with -Wextra results to lots of warnings for unused
parameters. Annotate these cases with the `unused' attribute to avoid
the warnings.
Update .gitignore
Run `autoupdate' to stop using obsoleted macros in `configure.in'
Stop using nonportable echo arguments in tests

echo arguments are not portable, so use printf when we need to print
tabs or newlines.
MIPS: fix symbol naming for `mips_lock', `mips_local_resume', and `mips_local_addr_space_init'

Properly export the symbol names also on MIPS. `make check' was
complaining:

src/.libs/libunwind.a(Linit.o): In function `mips_local_addr_space_init':
src/mips/Ginit.c:183: multiple definition of `mips_local_addr_space_init'
../src/.libs/libunwind-mips.a(Ginit.o):src/mips/Ginit.c:183: first defined here

src/.libs/libunwind.a(Lglobal.o): In function `_ULmips_init':
src/mips/Gglobal.c:42: multiple definition of `mips_lock'
../src/.libs/libunwind-mips.a(Gglobal.o):src/mips/Gglobal.c:42: first defined here

collect2: ld returned 1 exit status
PPC: do not export dwarf_to_unw_regnum_map

dwarf_to_unw_regnum_map is internal to libunwind, and should not be
exported.
Allow for architecture specific dwarf_to_unw_regnum()

For a few of the supported architectures we can use one-to-one mapping
from the dwarf to the libunwind register numbers. Allow the
architectures to define their own dwarf_to_unw_regnum() macro to do this
easily.
ARM: implement dwarf_to_unw_regnum() macro without table
MIPS: implement dwarf_to_unw_regnum() macro without table
Fix plain return from main() in tests/test-async-sig.c

test-async-sig.c: In function 'main':
test-async-sig.c:185:4: warning: 'return' with no value, in function returning non-void [-Wreturn-type]
Use constants for ELF magic bytes in _UCD_create.c
Remove unneeded length modifier from suppressed match in sscanf() format in tests/crasher.c

GCC is complaining about the `%*jx' match in sscanf() format string.
Replace it with `%*x'; sscanf() will identically match an unsigned
hexadecimal integer without the length modifier.

crasher.c: In function 'write_maps':
crasher.c:30:9: warning: use of assignment suppression and length modifier together in gnu_scanf format [-Wformat]
Fix memory leaks in unw_create_addr_space() wrong-endian error paths

Check the endianness earlier in unw_create_addr_space() on all
architectures to avoid leaking the dynamically allocated address space
struct.

This was already fixed for ARM in commit cf6a99879604 ("Fix memory leak
in ARM unw_create_addr_space()"). Move the endianness check also on ARM
to avoid malloc() & free() in the error case.
ARM: fix non-signal-frame local unw_resume() due to compiler optimization cleverness

When cross-compiling libunwind with optimizations (-O1 or higher),
gcc-4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) optimizes away the memory
writes prior to the inline asm() statement in arm_local_resume() in the
non-signal-frame path, causing the `regs' array to be only allocated on
the stack, but not populated. This means that we are restoring garbage
to the registers.

As suggested in the GCC docs, add a fixed size input memory constraint
for the array content. This is enough to get the desired code to be
generated.

Adding __builtin_unreachable() to the point that we should never reach
was also in itself enough to inhibit the optimization. It also reduces
the function size by a few instructions.