Fix 13111: GC.realloc returns invalid memory for large reallocation

added missing handling if the reallocation is too large for the current pool
add unittest
Fix marking threadasm.S as not requiring an executable stack.

- Use of @progbits breaks on ARM, use %progbits instead.
- Works on FreeBSD, too.
- Works only for ELF files.

See https://wiki.gentoo.org/wiki/Project:Hardened/GNU_stack_quickstart for more info.
Merge pull request #884 from rainers/fix_13111

Fix 13111: GC.realloc returns invalid memory for large reallocation
fix Issue 13025 - Tools repository does not build on Ubuntu

- reference __bss_start and _end using weak symbols
  to workaround a diagnostic linker bug
Merge pull request #885 from redstar/execstack

Fix marking threadasm.S as not requiring an executable stack.
Merge pull request #889 from MartinNowak/fix13025

fix Issue 13025 - Tools repository does not build on Ubuntu