генерация 64-битного кода в 32-битной системе Debian

Не могли бы вы описать, как вы установили gcc-multilib и g++-multilib на 32-битную машину Debian для генерации 64-битного кода?

Я установил gcc-4.7.2 на свою 32-битную систему Debian (а также установил binutils-2.23). Когда я пытаюсь скомпилировать простую программу hello world с флагом -m64 как

# gcc -m64 hello.c

Я получаю следующее сообщение об ошибке:

"hello.c:1:0: sorry, unimplemented: 64-bit mode not compiled in" .

Расскажите, пожалуйста, как сгенерировать 64-битный код в 32-битной системе Debian.


person NIlesh Srivastava    schedule 02.05.2013    source источник


Ответы (1)


Вам нужно переустановить gcc с этой опцией в файле configure.

person RSFalcon7    schedule 02.05.2013
comment
Я установил gcc-4.7.2 с помощью configure --enable-multilib и --enable-targets=i686-pc-linux-gnu,x86_64-pc-linux-gnu. Перед этой конфигурацией для gcc я установил binutils с --enable- target=i686-pc-linux-gnu,x86_64-pc-linux-gnu. И все работало нормально. Я успешно установил gcc-4.7.2, хотя также не могу сгенерировать 64-битный код, используя флаг -m64 на моей 32-битной машине Debian. - person NIlesh Srivastava; 03.05.2013
comment
# gcc -m64 hello.c Я получаю следующее сообщение об ошибке: hello.c:1:0: извините, не реализовано: 64-битный режим не скомпилирован в . - person NIlesh Srivastava; 03.05.2013
comment
@NIlesh, можете ли вы обновить вопрос с выводом gcc -v? - person RSFalcon7; 04.05.2013
comment
# gcc -v Использование встроенных спецификаций. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/var/opt/crossgcc/bin/../libexec/gcc/i686-pc-linux-gnu/4.7.2/lto-wrapper Цель: i686-pc-linux-gnu Настроено с помощью: .. /gcc-4.7.2/configure --enable-multilib --enable-targets=i686-pc-linux-gnu,x86_64-pc-linux-gnu --prefix=/opt/crossgcc --with-gmp=/opt /crossgcc --with-mpfr=/opt/crossgcc --with-mpc=/opt/crossgcc --with-system-zlib Модель потока: posix gcc версии 4.7.2 (GCC) - person NIlesh Srivastava; 06.05.2013
comment
Система i686 (cmd :uname -a), 32-битная машина Debian (без флагов lm во флагах: в /proc/cpuinfo) - person NIlesh Srivastava; 06.05.2013