I'm not sure that having `FUNC_ATTR_ALLOC_SIZE(1)` is helping matters (from an optimization point of view).  It might be a good idea to just drop those off of there for now.  If we knew what alignment the underlying `malloc()` call was using, we could put that here and probably see some benefit.  But that's dependent on the processor and platform, and not fun to test for.