Size: a a a

Rust — русскоговорящее сообществo

2020 March 23

DZ

Dmitry Zherebko in Rust — русскоговорящее сообществo
Антон ⚙️
То, что:
1) Копипасту при внесении изменений придётся править в нескольких местах (и не забыть все места)
2) При чтении копипасты глаз замыливается и можно пропустить очевидный баг
1) если была копипаста значит править прийдется мест по отдельности, так чаще всего бывает и при этом в другой части приложения ничего не сломается
2) для очевидных багов есть тесты
источник

K

Kitsu in Rust — русскоговорящее сообществo
pl 🦑 hk
библиотека musl-gcc собрана?
Неа, а зачем?
источник

А⚙

Антон ⚙️ in Rust — русскоговорящее сообществo
Dmitry Zherebko
1) если была копипаста значит править прийдется мест по отдельности, так чаще всего бывает и при этом в другой части приложения ничего не сломается
2) для очевидных багов есть тесты
2) Щас бы баги тестами ловить
источник

DZ

Dmitry Zherebko in Rust — русскоговорящее сообществo
ну да дичь какая-то
источник

r

red75prime in Rust — русскоговорящее сообществo
Kitsu
Неа, а зачем?
Target - musl? Тогда, чтобы в одном бинарнике не было двух разных libc.
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообществo
Kitsu
Неа, а зачем?
несовпадение размеров структур каких-нибудь
источник

K

Kitsu in Rust — русскоговорящее сообществo
red75prime
Target - musl? Тогда, чтобы в одном бинарнике не было двух разных libc.
А можешь детальнее пояснить? При билде используется glibc-шный линкер по умолчанию что ли? Откуда второй libc появляется?
источник

K

Kitsu in Rust — русскоговорящее сообществo
^и да, target - musl
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообществo
один в бинаре, один в сошке (динамически)
источник

r

red75prime in Rust — русскоговорящее сообществo
Kitsu
А можешь детальнее пояснить? При билде используется glibc-шный линкер по умолчанию что ли? Откуда второй libc появляется?
Если библиотека слинкована не с musl, а с тем-же glibc, то из неё
источник

r

red75prime in Rust — русскоговорящее сообществo
musl линкуется статически?
источник

K

Kitsu in Rust — русскоговорящее сообществo
pl 🦑 hk
один в бинаре, один в сошке (динамически)
Так, откуда сошка то, бинарь же статический должен быть
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообществo
Kitsu
Так, откуда сошка то, бинарь же статический должен быть
ffi либа как линкуется?
источник

K

Kitsu in Rust — русскоговорящее сообществo
pl 🦑 hk
ffi либа как линкуется?
а, ну эта либа в динамике, да
источник

K

Kitsu in Rust — русскоговорящее сообществo
red75prime
musl линкуется статически?
наверное, ldd libc не показывает
источник

r

red75prime in Rust — русскоговорящее сообществo
Kitsu
а, ну эта либа в динамике, да
Динамически линкуется или динамически подгружается? ldd that_lib.so что говорит?
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообществo
> gcc -shared -o libtest.so -fPIC test.c                                                                                                                                         
> ldd libtest.so                                                                                                                                                                    
 linux-vdso.so.1 (0x00007ffe3aa9e000)
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f559d6ef000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f559d8fe000)
источник

K

Kitsu in Rust — русскоговорящее сообществo
red75prime
Динамически линкуется или динамически подгружается? ldd that_lib.so что говорит?
vdso + my_ffi_lib
источник

K

Kitsu in Rust — русскоговорящее сообществo
libc и линкера нет (хотя в другой ОС они почему-то появляются)
источник

K

Kitsu in Rust — русскоговорящее сообществo
objdump -p на обоих осях выдает NEEDED только на my_ffi_lib, какого-то указания libc
источник