Следующий код прекрасно компилируется в MSVC , но GCC выдает предупреждение, которое действительно меня выводит из строя: Форма адресации не-pic не подходит для кода pic .
Подскажите, пожалуйста, причину этого предупреждения и как его исправить, если это действительно потенциальная проблема?Я использую опцию компилятора -fasm-blocks для включения сборки в стиле Intel , добавление аргумента -fpic не имеет значения.
unsigned short dataMask[] = {0x0ffff, 0x07bef, 0x039e7, 0x018e3, 0x0861, 0x020, 0,0};
void test
{
_asm
{
xor ecx, ecx // ecx == 0
//...
// value in ecx may change
//...
mov bx, [dataMask + ecx * 2]
//...
};
}