We modified the FreeBSD C library so that the heap allocator functions (malloc(), calloc(), realloc()) allo- cate heap objects in ghost memory instead of in traditional memory;the changes generate a 216 line patch.To ease porting, we wrote a 667-line system call wrapper library that copies data between ghost memory and traditional memory as necessary. This wrapper library also provides wrappers for signal() and sigaction() that register the signal handler functions with Virtual Ghost before calling the kernel’s signal() and sigaction() system calls. The compiler and linker did not always resolve system calls to our wrapper functions properly, so we made some manual modifications to the programs.We also modified the programs to use traditional memory (allocated via mmap()) to store the results of data to be sent to stdout and stderr to reduce copying overhead. In total, our changes to Open SSH can be applied with a patch that adds 812 and deletes 68 lines of code (Open SSH contains 9,230 source lines of code).