* Unify all the code paths with a generic function * Add some EABI aliases Closes #4853
that's all this commit does. further commits will fix cli flags and such. see #2221