tools/shlib-compat: Update dwarfdump / compiler support.

Use hex instead of decimal for integers.
Add boolean and restrict type definitions.
Add options for specifing dwarfdump and objdump executables.
tools/shlib-compat: Compare external variable definitions.
tools/shlib-compat: Fix reporting missing symbol definitions as matching.
tools/shlib-compat: Exclude special symbols like _init, _end by default.
tools/shlib-compat: Fix test build.