FPC fixes crashes: that is the job of the openbsd porter. That of course shouldn't happen.
Doing initial ports, or wildly different ABI versions (in the past e.g. from FreeBSD 3 to 4), and as said this is where libc based ports are pain. Even more so on LLVM systems since those tools hardly have any errorhandling and the linker can silently drop files if it doesn't like them.
One of the techniques is to compile on a "good" machine and then transfer the files to the target system and do the assembling and linking there using the script (that is generate when you compile with -s).
But before trying with a whole compiler it is easier to start testing simple programs, first hello world, than something that does some findfirst/findnext and expandfilename() to test that functionality and maybe look at it with ktrace/truss for more error information.
As for svn2revisioninc, it seems that the makefiles are not generating an alternative, but you can work around that by creating a file yourself e.g.
// Created by Svn2RevisionInc
const RevisionStr = 'main_3_99-2065-g520eccce1a';
or so.