This is needed for cross-compiling LLVM from Cygwin, but it had gotten
deleted in rG2724d9e12960cc1d93eeabbfc9aa1bffffa041cc
That really is unfortunate. LLVM generally does a pretty good job of sticking to standard C++. The symbols you claim are missing aren't C++ symbols but rather C symbols. I suppose that this doesn't hurt the other targets.
I think with the move to newer C++ standards, some of the missing functionality in C could be replicated (or use the _WIN32 code paths for __CYGWIN__ in more places). I tried that for a bit, but it was pieces like struct sigaction, realpath, and getsid missing, which are very platform-specific.