px_14 toolchain Windows compilation: alignment issues

Hello, all!
I am modifying AP FrSky S.Port telemetry support and meet strange alignment issues:

first, if just modify
[color=#4000BF]AP_Frsky_Telem::frsky_send_data(uint8_t id, int16_t data)[/color]
to
[color=#4000BF]AP_Frsky_Telem::frsky_send_data(uint8_t id, uint32_t udata)[/color]

telemetry stopped sending at all (the method is actually called with 16 bit values to udata), but adding

[color=#4000BF]void AP_Frsky_Telem::frsky_send_data(uint16_t id, int16_t data)
{
uint32_t data1=data;
frsky_send_data2(id, data1);
}
void AP_Frsky_Telem::frsky_send_data2(uint16_t id, uint32_t udata)[/color]

resolves the issue. It seems to me, the problem is within stack alignment.

The second issue is with AP_Frsky_Telem class data fields (alignment?): moving the field up and down amongst other fields changes its value sent be telemetry!

The overall ArduCopter compiled code seems to work (not tryed to fly the copter, but on the bench it looks ok).

Please, help.

Using px_14 toolchain undir Windows 7 64 bit:
[color=#4000BF]$ arm-none-eabi-gcc --version
arm-none-eabi-gcc.exe (GNU Tools for ARM Embedded Processors) 4.7.4 20140401 (release) [ARM/embedded-4_7-branch revision 209195][/color]

compiling with
make px4-v2