Оптимизирующие линкеры

sevast82

Хотелось бы познакомиться с технологией реализации сабжа, желательно увидеть исходники. Кто что может посоветовать?
В частности, интересуют вопросы реализации таких возможностей линкера:
1. Один объектный файл предоставляет глобальный символ, соответствующий функции; обращение к этому символу ровно одно, в одном из других блоков компиляции. Линкер просекает этот факт и меняет код, выполняя инлайнинг кода функции, соответствующей этому символу, тем самым оптимизируя код и по скорости, и по размеру.
2. Линкер выбрасывает из объектного кода код, соответствующий неиспользуемым символам.

Marinavo_0507

Это обычно на уровне исходного текста делают.

sevast82

Ну, спасибо
А если некто купит за большие деньги проприетарный объектник, реализующий море всякой всячины? Исходника нет.
Единственное, что можно предпринять в такой ситуации, не имея сабжа - это купить тот же объектный код в виде библиотеки, разбитый на маленькие объектники. Тогда вопрос 2 решится, но возникнет равносильная ему проблема: компилятор соптимизирует эту библиотеку несравненно хуже, чем если бы он делал её единым объектником.

Marinavo_0507

За большие деньги можно нанять рюхов, и они попробуют что-нибудь пооптимизировать. Можно попробовать декомпилировать объектник, например.

sevast82

1. Поставщик, поставляющий продукт, который покупатель вынужден декомпилировать, нанимая рюхов, пойдёт лесом после первой же сделки.
2. Зачем декомпилировать, если существуют сабжи?
3. Хорош флудить, я не спрашиваю, ЧТО делать с объектниками, я спрашиваю, знает ли кто-нибудь, как устроены сабжи (приветствуются линки).

Marinavo_0507

> 2. Зачем декомпилировать, если существуют сабжи?
Реально?

sevast82

Реально. Активно применяются в области embedded systems. Например, можешь погуглить тулзы для платформ MSP430.
P.S. Судя по твоему вопросу, совета по теме я тут не дождусь , не сочти за оскорбление.

Marinavo_0507

Погуглил - сабжа что-то не нашёл.
В микроконтроллерах я ничего не понимаю, так что совета от меня действительно вряд ли дождёшься.
Просто интересно. Поэтому можно ссылку на такой линкер?

Marinavo_0507

Третью ссылку прочитал. И чё?

sevast82

Раз прочитал и переспрашиваешь - выпей йаду, а?
P.S. Больше отвечать не по теме не буду, спасибо за внимание

mysha

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

sevast82

я не спрашиваю, ЧТО делать с объектниками, я спрашиваю, знает ли кто-нибудь, как устроены сабжи (приветствуются линки).
Оставить комментарий
Имя или ник:
Комментарий: