Выпуск компоновщика Mold 1.1, развиваемого разработчиком LLVM lld
Автор
Сообщение
news_bot ®
Стаж: 6 лет 11 месяцев
Сообщений: 27286
Опубликован выпуск компоновщика 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
===========
Похожие новости
- Главная ссылка к новости (https://github.com/rui314/mold...)
- OpenNews: Первый стабильный релиз компоновщика Mold, развиваемого разработчиком LLVM lld
- OpenNews: Релиз набора компиляторов LLVM 13.0
- OpenNews: Проект GCC разрешил приём изменений без передачи Фонду СПО прав на код
- OpenNews: Релиз набора компиляторов GCC 11
- OpenNews: Выпуск GNU Binutils 2.38
Похожие новости:
- Первый стабильный релиз компоновщика Mold, развиваемого разработчиком LLVM lld
- [Системное администрирование, Серверное администрирование, DevOps, Микросервисы] АМА-сессия Слёрма по service mesh. Часть 2
- [Системное администрирование, DevOps, Микросервисы, Kubernetes] Что такое service mesh, когда внедрять, альтернативы Istio и другие ответы экспертов с АМА-сессии Слёрм по service mesh
- [Интерфейсы, Прототипирование, Производство и разработка электроники, Дизайн, Электроника для начинающих] Литье пластика со встроенной электроникой (IME): что это, и почему это новый тренд
- [Системное администрирование, DevOps, Микросервисы, Kubernetes] Service Mesh Wars, прощаемся с Istio (перевод)
- [Работа с векторной графикой, Химия] Рисуем молекулы с помощью PostScript
- [Высокая производительность, Информационная безопасность, IT-инфраструктура, Серверное администрирование] АМА-сессия «Service mesh 2021» 17 февраля
- [Программирование, Kubernetes] Руководство по настройке целевых уровней обслуживания (SLO) в Kubernetes с помощью Prometheus и Linkerd (перевод)
- [Сетевые технологии, DevOps, Микросервисы, Kubernetes] Service Mesh: что нужно знать каждому Software Engineer о самой хайповой технологии (перевод)
- [C++, Компиляторы, C, Программирование микроконтроллеров, Системы сборки] Самые частые грабли при использовании printf в программах под микроконтроллеры
Теги для поиска: #_mold, #_linker
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 11:03
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 11 месяцев |
|
Опубликован выпуск компоновщика Mold, который может применяться в качестве более быстрой прозрачной замены GNU linker на Linux-системах. Проект развивает автор компоновщика LLVM lld. Ключевой особенностью Mold является очень высокая скорость связывания объектных файлов, заметно опережающая компоновщики GNU gold и LLVM lld (компоновка в Mold выполняется со скоростью, всего в два раза медленнее простого копирования файлов утилитой cp). Код написан на языке С++ (C++20) и распространяется под лицензией AGPLv3. В новой версии:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Фев 11:03
Часовой пояс: UTC + 5