smalloc: fix __heap_start not populating correctly

fixes bug introduced in ba160d82955d5274219b8cfa1867c8365cac5ecd
mpc: move some macros so the C flows better