LINUX.ORG.RU

nasm, ld и 64 бита


0

0

Всем привет! Возникла у меня такая проблема - надо написать шеллкод на асме. В качестве асма был выбран соответсвенно nasm. Все бы хорошо, да у меня 64-х битная система... Поэтому выполняю: nasm -f elf shell.asm ld shell.o ld: warning: i386 architecture of input file `shell.o' is incompatible with i386:x86-64 output

Что делать? Использование формата a.out также не помогло.

P.S. я на 64-х битной платформе программирую впервые так что простите за глупые вопросы :)

★★★★★

Ответ на: комментарий от hyde

Блин не помогает:
shell.o(.text+0x0):shell.o: multiple definition of `_start'
/usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../../../lib/crt1.o(.text+0x0): first defined here
/usr/lib/gcc/x86_64-redhat-linux/4.0.0/../../../../lib/crt1.o(.text+0x18): In function `_start':
: undefined reference to `main'
collect2: ld returned 1 exit status

XVilka ★★★★★
() автор топика
Ответ на: комментарий от hyde

Спасибо, теперь заработало! А нельзя ли что-нть с ld сделать чтоб он генерил на выходе elf32??? А то через gcc некрасиво как-то :)

XVilka ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.