Попутно обнаружился забавный глюк:
Код
typedef struct
{
uint a;
uint b[];
} test_struct_t;
const test_struct_t testSt1 = {1, {0,0,0,0,0,0,0,0}};
const test_struct_t testSt2 = {0, {1,0,0,0,0,0,0,0}};
const test_struct_t testSt3 = {0, {0,0,0,0,0,0,0,0}};
//
14565 .global _testSt3; export
14566 .section .const,psv
14567 .align 2
14568 _testSt3:
14569 0000 00 00 .skip 2
14570 .global _testSt2; export
14571 .align 2
14572 _testSt2:
14573 0002 00 00 .word 0
14574 0004 01 00 .word 1
14575 0006 00 00 .word 0
14576 0008 00 00 .word 0
14577 000a 00 00 .word 0
14578 000c 00 00 .word 0
14579 000e 00 00 .word 0
14580 0010 00 00 .word 0
14581 0012 00 00 .word 0
14582 .global _testSt1; export
14583 .align 2
14584 _testSt1:
14585 0014 01 00 .word 1
14586 0016 00 00 .word 0
14587 0018 00 00 .word 0
14588 001a 00 00 .word 0
14589 001c 00 00 .word 0
14590 001e 00 00 .word 0
14591 0020 00 00 .word 0
14592 0022 00 00 .word 0
14593 0024 00 00 .word 0
Размер testSt3 вычисляется неверно - нули в массиве игнорируются.