Есть библиотека libhello.so с функцией
void hello()
{
printf("Hello\n");
}
Num: Value Size Type Bind Vis Ndx Name
.
.
22: 00000dd0 34 FUNC GLOBAL DEFAULT 11 hello
.
.
format ELF
section '.text' executable
extrn hello
public _start
_start:
call hello
mov eax, sys_exit
mov ebx, 0
int 0x80
ret
Собираю так:
fasm main.asm
ld -m elf_i386 -ohello main.o -L. -lhello
Все собирается без ошибок, но получается на выходе файл, который вообще не открывается (права на исполнение есть)
Если делать так:
fasm main.asm
ld -m elf_i386 -ohello main.o -L./libhello.so
ld -m elf_i386 -o hello main.o -L./libhello.so
main.o: In function `_start':
(.text+0x1): undefined reference to `hello'
Как правильно пользоваться функциями из библиотеки?
Спасибо.