Чего-тоя запутался, как в кейле описать:
Цитата
u8_t uip_buf[UIP_BUFSIZE+2] __attribute__ ((aligned (4)));
Еще, в чем таком потаенный смысл директив выравнивания, объявили тип переменной/константы размер которой уже явно известен для упаковки, нет надо блин еще мозги компосировать всевозможными "самодельными" директивами компилятора.
Это получается, сначала, типы создают по размеру (типа BYTE, u8_t ...) потом еще и выравнивают принудительно.