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

Коллеги, блиц-опрос! :) встречаются ли в ваших проектах баги из-за нарушения

ODR, в каких объёмах, и пытались ли вы бороть их статическими анализаторами и прочей автоматикой?

11 ответов

19 просмотров

нет - неймспейсы решают)

не встречаются

Получается смешно, когда переводишь сишный код на плюсы — особенно если использовались технологии вроде weak symbols, из-за которых ошибок линковки, которые бы в противном случае произошли, не случается

Однажды долго чинил криво пропатченный hyperscan, где несколько разных рантаймов слепились в один. Линкер выбрал примерно случайные символы из четырёх дубликатов, и потом все очень красиво взрывалось в рантайме на специфичных запросах

подробностей не помню, но встречались. просто одинаково названные inline хелперы в разных TU с разным телом

Sergey Skvortsov
Однажды долго чинил криво пропатченный hyperscan, ...

Хех, это видимо там, где под свою систему сборки переписали, но забыли про переименование символов для сборок под разные микроархитектуры.😁

Alexander Tulikov
Хех, это видимо там, где под свою систему сборки п...

Примерно так, да Пришлось аккуратно лобзиком переименовывать

так давай нормальный опрос сделаем.

Igor-Ivanov Автор вопроса
Ilya Zviagin
так давай нормальный опрос сделаем.

я не против, но понятия не имею как х) Так-то это было полупраздное любопытство — я оживил наш старый линтер, вкрутил его в симейк, и он насчитал аж 145 потенциальных разъездов по символам. Даже если две трети из них ложные, то всё равно неплохо выходит Вот я и задумался, это только мы такие креведки, или это массовая боль энтерпрайза

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

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

а через 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
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
1
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта