Выпуск компоновщика Mold 1.1, развиваемого разработчиком LLVM lld

Автор Сообщение
news_bot ®

Стаж: 6 лет 11 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
26-Фев-2022 17:30

Опубликован выпуск компоновщика Mold, который может применяться в качестве более быстрой прозрачной замены GNU linker на Linux-системах. Проект развивает автор компоновщика LLVM lld. Ключевой особенностью Mold является очень высокая скорость связывания объектных файлов, заметно опережающая компоновщики GNU gold и LLVM lld (компоновка в Mold выполняется со скоростью, всего в два раза медленнее простого копирования файлов утилитой cp). Код написан на языке С++ (C++20) и распространяется под лицензией AGPLv3.
В новой версии:
  • Добавлена поддержка оптимизации на этапе связывания (LTO, Link Time Optimization). LTO-оптимизации отличаются учётом состояния всех файлов, участвующих в процессе сборки в то время, как традиционные режимы оптимизации оптимизируют каждый файл по отдельности и не учитывают условия вызова функций, определённых в других файлах. Если раньше при обнаружении файлов с промежуточным кодом (IR) GCC или LLVM вызывались соответствующие компоновщики ld.bfd или ld.lld, то теперь Mold обрабатывает IR-файлы самостоятельно и использует Linker Plugin API, также применяемый в компоновщиках GNU ld и GNU gold. Скорость при включении LTO лишь незначительно опережает другие компоновщики, так как основное время тратится на выполнение оптимизации кода, а не компоновку.
  • Добавлена поддержка архитектуры RISC-V (RV64) на стороне хоста и целевых платформ.
  • Добавлена опция "--emit-relocs" для включения режима копирования секций перемещений адресов (relocation) из входных файлов в итоговые для последующего применения оптимизаций на этапе после связывания.
  • Добавлена опция "--shuffle-sections" для рандомизации порядка следования секций до фиксации их адресов в виртуальном адресном пространстве.
  • Добавлены опции "--print-dependencies" и "--print-dependencies=full" для вывода в формате CSV информации о зависимостях между входными файлами, что, например, можно использовать для анализа причин подключения при компоновке определённых объектных файлов или при проведении работы по минимизации зависимостей между файлами.
  • Добавлены опци "--warn-once" и "--warn-textrel".
  • Исключена зависимость от libxxhash.

===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_mold, #_linker
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 03-Фев 11:03
Часовой пояс: UTC + 5