add a symbol address oracle

This adds a symbol address oracle.  This is called by GCC to find the
address of a function that is otherwise builtin.  E.g., 'printf' is
considered a builtin by GCC (unless -fno-builtin-printf is given).