Bug 24431 Read 32bit values when testing for the v4.19 symbol table format
Reading into uint64_t when reading the symbol table values drops the
sign and subsequently offset calculations will only be correct if either
the offset is positive or if the calculation overflows.
Read the relative value as signed int32_t (indepently of the target's
bitness) to allow negative offsets. That also allows to drop the code
that formerly handled the overflow.
That change fixes an assertion raised when dealing with aarch64 kernel
binaries that have a __ksymtab with 32bit relocations. i.e. Bug #24431
* src/abg-dwarf-reader.cc
(try_reading_first_ksymtab_entry_using_v4_19_format): attempt to
read first __ksymtab entry into int32_t to preserve sign
Signed-off-by: Matthias Maennich <maennich@google.com>