Check and override all symbols during injection

Authored by mwolff on May 1 2018, 6:46 PM.

Description

Check and override all symbols during injection

The DT_SYMENT size is not actually the size of the
symbol table. Instead, it specifies the size of *one entry*
in the symbol table. As such, we skipped a lot of symbols
that where placed at the end of the symbol table. Essentially,
this completely broke heaptrack runtime-attachement on 64bit
systems.

Removing this check fixes the injection unit test too and
allows us to expand the checks there.

Note that I added the check initially to workaround a crash
on 32bit systems. It has to be investigated again and fixed
in another way, as this was obviously wrong.

Revert "Fix bounds check: 0 is a valid index"
Revert "Check symbol table size before accessing it"

This reverts commit 232c92992d191ba0dda47964bf30327b449e1f4f.
This reverts commit ab2a8222da3cbf2c061578f8215a1b771ff5bb90.