New kernel compatibility; obstack; pthread_getname_np
The gcompat loader compiled as a static binary doesn't work on Linux since a4ff8e8620d3f4, failing with an error like:
[349055.473655] 13325 (cmake): Uhuuh, elf segment at 0000000000400000 requested but the memory is mapped already
This is because the actual binary we want to run is also loaded at 0x400000. While it's actually okay to overlap the binary, since we're going to call
execve again, the kernel doesn't allow the overlap anymore. Fix that by compiling the loader as static PIE, so it can be put at a different address.
pthread_getname_np and the option to link