Файл, связанный вручную, не существует при попытке его запуска, но в противном случае он существует [дубликат]Linux

Ответить Пред. темаСлед. тема
Anonymous
 Файл, связанный вручную, не существует при попытке его запуска, но в противном случае он существует [дубликат]

Сообщение Anonymous »


Я возился с каким-то ассемблером и пытаюсь собрать его с помощью nasm и связать с ld на своей машине с Ubuntu. Это мой код

EXTERN помещает РАЗДЕЛ .data hello: db "Привет, мир!\0" РАЗДЕЛ .текст глобальный _start _начинать: ; ставит (привет) мов рди, слово привет колл-путы ; выход(0) хор рди, рди Мов Еакс, 60 системный вызов Когда я компилирую его с помощью

nasm helloworld.asm ld -lc -o приветмир helloworld.o обе команды возвращают статус завершения 0 и файл существует. Но когда я пытаюсь запустить файл, он внезапно больше не существует, или, по крайней мере, так мне говорит моя оболочка.

$ ls helloworld -alh -rwxrwxr-x 1 группа пользователей 14K 28 октября 10:44 helloworld $ ./приветмир sh: 4: ./helloworld: не найдено $ файл helloworld helloworld: 64-битный исполняемый файл ELF LSB, x86-64, версия 1 (SYSV), динамически подключаемый, интерпретатор /lib/ld64.so.1, не удаленный Я пробовал sh, bash и zsh. Я также пытался запустить с помощью exec. Когда я открываю его с помощью GDB, я могу дизассемблировать _start, и он показывает правильные инструкции, но когда я запускаю, он просто говорит, что файл снова не существует. Когда я загружаю файл в каттер, он показывает правильную дизассемблирование, но когда я пытаюсь запустить его с помощью отладчика, он просто зависает.

Более того, когда я только что вернул 0 и там не было вставок, я связал без флага -lc, и тогда все заработало как ожидалось.

Что происходит?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»