Rewrite the workaround for misalignment.

Previous workaround caused RsBenchmark crashed.  This is because
the inconsistency of the symbol address and relocation address.
In the old patch, the relocation hole will be filled with new
aligned address, while the relocation process will committed on
old address.

This new workaround is based on the observation that ".lcomm"
directive bug will only affect .bss section (NOBITS).  Besides,
.bss section itself needs no relocation.  So it is OK to allocate
16-byte aligned memory for .bss section.
1 file changed