Anonymous
А какая может быть причина?
Anatoly
ну ты покажи выхлоп этой команды
Anonymous
Не дома, но проверял до этого. Chown мой. Права чтение, исполнение, запись есть. Что ещё это тебе дать может?
Anatoly
ничего, должен быть исполнен
Anonymous
Можешь ещё strings/ldd/nm/od?
Anatoly
что-то ты определенно делаешь не так
Anatoly
нет
Anonymous
Именно
Anatoly
твоих данных не достаточно
Anonymous
GAS работает
електр🟢нік ✙🟠рчбеч ඞ
Viktor
$PWD/argc ещё попробуй
Viktor
Anatoly
ну file же он определяет
Anonymous
електр🟢нік ✙🟠рчбеч ඞ
електр🟢нік ✙🟠рчбеч ඞ
а не ассемблер
Anonymous
Anatoly
как будет за машиной, тогда и надо смотреть
Anonymous
електр🟢нік ✙🟠рчбеч ඞ
шо после ассемблера смотри
Anonymous
Тогда потом, дома))
Anonymous
Спасибо за активность
Anonymous
Думал кто уже встречал
Anatoly
нет, у всех нормально)
Viktor
Anonymous
Anatoly
да пади по запарке не то или не там запускаешь)
Viktor
nasm отрыгнул объектный файл, линкер отрыгнул исполняемый из отрыга насма
Anatoly
всякое бывает
Viktor
Anatoly
ждем тебя за компьютером
Anatoly
и пост сюда "епта, ну я капец..."
Anonymous
Anonymous
Как то так делал
Anatoly
дада, я понял уже. Ты все делаешь правильно, а оно не работает :)
Anonymous
Я решил на 64бит printf вызвать
Anonymous
Через регистры
Anonymous
Ладно, дома
Anatoly
libc оно само линкует чоль?
Anatoly
да, лучше дома
електр🟢нік ✙🟠рчбеч ඞ
chmod +x argc
Anonymous
Там вроде было x
Anonymous
На ugo
Anatoly
сплошные догадки
Anonymous
$ ls -l
итого 36
-rwxrwxr-x 1 lock lock 2832 май 1 11:13 test
-rw-rw-r-- 1 lock lock 864 май 1 11:12 test.o
-rw-rw-r-- 1 lock lock 213 май 1 11:12 test.s
Anonymous
в общем место ld стал использовать gcc, все работает
Vladimir
gcc еще цепляет всякую срань наподобие libgcc
Vladimir
неявно
Anatoly
и все работает!
Vladimir
И с ld всë работает, если всë правильно сделать
Anatoly
уверен, это так
Vladimir
Ключ -static и точку входа надо указать, как минимум
Anonymous
или же:
$ nasm -felf64 test.s
$ gcc test.o -lc -o test
$ ./test
Is: 98
Vladimir
А, нет такого файла или каталога - это кривой бинарь с динамичнской линковкой. Интерпретатор неправильно задан
Anonymous
и glibc таки мне нужен для printf
Vladimir
А без принтф никак?
Anonymous
можно
Vladimir
Ну выводи через write
Vladimir
Гемора меньше в разы
Anonymous
выводил, а вдруг мне понадобиться что-то
Anonymous
не системное
Vladimir
Например?
Anonymous
какой-нибудь rand
Anonymous
а если мне нужно сокет забиндить?
Vladimir
Динамическая линковка - там надо разбираться с got, plt и прочей сранью, кури ман по ELF
Vladimir
Anonymous
$ cat /usr/include/asm/*.h | grep bind
#define __NR_mbind 274
#define __NR_bind 361
#define __NR_bind 49
#define __NR_mbind 237
#define __NR_bind (__X32_SYSCALL_BIT + 49)
#define __NR_mbind (__X32_SYSCALL_BIT + 237)
?
Vladimir
ну
Vladimir
сокетный интерфейс в пингвине, кстати, сильно от архитектуры проца зависит
Vladimir
Что еще раз доказывает, что линь - это адов набор костылей
Anonymous
А кстати, а TLI в линукс же есть?
Vladimir
Даже номера системных вызовов - полный разброд
Anonymous
Во, а если мне нужен какой-нить atoi?
Anonymous
я же не буду реализовывать в лишний раз
Anonymous
делить каждый символ на эточисло-48 по модулю
Anonymous
или я свою библиотеку захочу сделать(а ld мне такой файл делает)
Anonymous
и использовать