Written by Ulrich Drepper . Molded into a standalone package by Mark Kettenis .