GCC packing fix for new GCC releases
|Reported by:||SF/bbrox||Owned by:|
#pragma pack does not work anymore with recent GCC releases.
Thus update all structures needing to be packed with a 'GCC_PACKED' define that will be left undefined for non-GCC builds and set to '__attribute__((packed))' for GCC.
Note that I also changed the values for START / END packing for the Cygwin build because I suppose that it also uses GCC. In that case, it's not 100 % needed as (AFAIK) all GCC builds for Windows support the pack push / pop #pragma for compatibility reasons with Windows's headers. So if this part of the patch causes problem, it can be removed.
Ticket imported from: #481016. Ticket imported from: patches/22.