184 похожих чатов

@Milovidov_an Привет, можешь ткнуть носом, в какой момент происходит подмена

функций glibc из musl? Я пошарился по исходникам, но там только реализация функций, в .cmake файлах тоже ответа не нашёл (там только критерии собирать или нет)

10 ответов

18 просмотров

Так musl же это просто реализация libc и оно выбирается при линковке, разве нет?

n- Автор вопроса
Yuran
Так musl же это просто реализация libc и оно выбир...

Я не могу вкурить, в какой момент часть из musl выбирается. Просто за счёт приоритета(порядок объявления линковки)? musl, потом недостающие ошмётки из libc? Если musl отключён, то все функци из libc?

n
Я не могу вкурить, в какой момент часть из musl вы...

Сомневаюсь, что можно слинковать glibc вместе с musl, нужно что-то одно выбрать.

Такие вопросы лучше в этот чат https://t.me/joinchat/B44Vi1T-PQA_9TwyAIBu-Q

n- Автор вопроса
Yuran
Сомневаюсь, что можно слинковать glibc вместе с mu...

В этом и фишка. Часть реализации идёт с musl, часть с glibc. Таймкод 01:05:08 https://youtu.be/Z7WuUhPJ-cU Там же и ответ на мой вопрос, просто линкуемся перед glibc)

n
В этом и фишка. Часть реализации идёт с musl, част...

Я хотел бы все-таки вставить свои пять копеек и добавить, что в общем случае смешивать две реализации libc это плохая идея: например libc может устанавливать хуки перед fork(), буферизовать ввод-вывод, и делать ещё много вещей, которые предполагают, что все функции берутся только из одной реализации. То, о чём говорил Алексей, является намного более частным случаем, когда копируются отдельные функции, вероятно не имеющие никаких скрытых зависимостей. В общем случае линковать нужно всегда только одну библиотеку и никак не две (аллокаторы не в счет). /оффтопик

n- Автор вопроса
Yuran
Я хотел бы все-таки вставить свои пять копеек и до...

Ну вот чисто с маслом у меня не заходит, потому что на системах с glibc он хочет линовщик, который системе отсутсвует

Если слинковать функции статически, то соответствующие функции из динамических библиотек уже не используются - вот и весь механизм подмены.

https://t.me/joinchat/VP49ANS8VOcAgG75

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта