здесь есть что-то очень простое:GNU: Доступ к поврежденной общей ошибке библиотеки
Моего кода (p1.s):
.intel_syntax noprefix
.arch i386
.data
poruka:
.asciz "Zdravo svete!\n"
kraj_poruke:
.equ duzina_poruke, kraj_poruke - poruka
.text
.extern write
.extern exit
.globl _start
_start:
push duzina_poruke
push offset poruka
push 1
call write
add esp, 12
push 0
call exit
.end
команда я использую, чтобы собрать и связать файлы:
as -o p1.o p1.s
ld -o p1 -dynamic-linker /lib/ld-linux.so.2 p1.o -l c
После этих команд у меня есть файлы p1.s, p1.o и p1 в каталоге, где я хочу их.
Я получаю ошибку:
bash ./p1 : Accessing a corrupted shared library.
Почему? : D Спасибо заранее!
Может кто-нибудь объяснить мне, почему это не работает? Заранее спасибо! :)
Эй, я пытался (кстати, да я на 64-битной системе): л.д. -melf_i386 -dynamic-линкер /lib/ld-linux.so.2 p1.o -lc но теперь Я получаю сообщение об ошибке: ld: не удалось найти -lc Что с этим –
У вас нет 32-битной библиотеки C. – Jester
Теперь что мне делать? –