There are two problems with the gpsim source that prevent it compiling on my system without patching. Firstly, it uses -warn-once, which the new binutils linker doesn't support. Secondly, it doesn't link against libdl explicitly. I'm attaching patches that fix these two issues.
With these, the code builds successfully with both g++ and clang++.