core: align stack on a 32bit boundary

Fixes #1267.
Why char?