You really don't want symbol interdiction. You don't use it most of the time, and the rest of the time, you're just changing a call that looks like:
foo(1, 2);
to (*g_foo)(1, 2);
Which do you think is faster? There's a reason everything on Android compiles with -Bsymbolic (which kills interdiction for calls between functions in the same module). You really should be compiling all your code with -Bsymbolic -fvisibility=hidden; explicitly export the symbols you want other modules to call.