Я использую 64-разрядную версию Arch Linux на x86_64-разрядном процессоре.Я скомпилировал ядро из исходного кода, потому что у меня есть какое-то оборудование, требующее исправления ядра.У меня есть простая тестовая программа, main.c:
#include <stdio.h>
int main() {
printf("alsfdjadfslkajsdflkafj");
}
Когда я компилирую с флагом -m32 и запускаю программу
gcc -m32 main.c -o main
./main
, я получаю следующий вывод: "Невозможно выполнитьбинарный файл: ошибка формата Exec ".У меня установлены мультибиблиотечные пакеты для gcc.Когда я запускаю objdump -d main
В верхней части файла написано «main: формат файла elf32-i386».Это правильно?Я думаю, что это должно сказать i686, но я не уверен.Если это правильно, где я могу начать устранение неполадок, чтобы решить эту ошибку?