gcc 3.x does ignores the __attribute__(packed)
declaration and therefore struct HOTSPOT has the wrong
size. This patch fixed packing of struct HOTSPOT.
Further I have added an assert which check that
sizeof(HOTSPOT) is really 15 bytes, so a wrongly packed
HOTSPOT will not result in an undefined run of this