Нет. Вы не можете использовать нативный gcc (x86) для компиляции программных файлов для другой архитектуры. Для этого вам необходим кросс-компилятор-gcc, специфичный для этой архитектуры процессора.
Ваше понимание системных вызовов для ОС правильное. Каждая ОС имеет свой собственный набор системных вызовов, который используется библиотекой. Эти библиотеки в конце будут переведены на машинный язык для процессора.
Каждая архитектура процессора имеет свой собственный набор команд, известный как Архитектура набора команд (ISA). Поэтому, когда программа, написанная на языке высокого уровня (например, C), компилируется, она должна быть преобразована в машинный язык из ISA. Эта работа выполняется компилятором (gcc). Компилятор будет характерен только для одной архитектуры процессора. Например, gcc для процессора x86. Поэтому, если вам нужен компилятор для другого процессора на вашем компьютере с архитектурой x86, вы должны использовать кросс-компилятор этого процессора.