Question about calling InferiorCallMmap from ProcessGDBRemote

Currently, ProcessGDBRemote::DoAllocateMemory calls InferiorCallMmap
(probably as a fallback option). Is this OK (even as a fallback)? I
ask this because mmap is a very POSIXey thing. If it is not OK, what
is the right thing to do here? Should we be creating an abstraction
for a platform specific memory allocation function, or should this
fallback not exist at all (meaning that remote memory allocation
should only be done via an _M packet)?

Thanks,
Siva Chandra