The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

26.02.2022 15:19

Опубликован выпуск компоновщика 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.


  1. Главная ссылка к новости (https://github.com/rui314/mold...)
  2. OpenNews: Первый стабильный релиз компоновщика Mold, развиваемого разработчиком LLVM lld
  3. OpenNews: Релиз набора компиляторов LLVM 13.0
  4. OpenNews: Проект GCC разрешил приём изменений без передачи Фонду СПО прав на код
  5. OpenNews: Релиз набора компиляторов GCC 11
  6. OpenNews: Выпуск GNU Binutils 2.38
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56766-mold
Ключевые слова: mold, linker
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (14) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, InuYasha (??), 16:03, 26/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-нибудь пробовал - как оно на практике?
     
     
  • 2.4, Аноним (-), 16:16, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну ungoogled-chromium с ним намного быстрее собирается.
     
     
  • 3.6, Аноним (6), 16:53, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    С lto?
     
     
  • 4.7, Антифрактал (?), 17:23, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    с NIM
     

  • 1.2, А где же каменты (?), 16:05, 26/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Лицензия неправильная, в *bsd не возьмут.
     
     
  • 2.3, Аноним (3), 16:15, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/

    > Лицензия неправильная, в *bsd не возьмут.

    Попробуй читать дальше заголовка.
    >> Note: I'm looking for a sponsor who wants to purchase the copyright

    of this work and relicense it under a more liberal license such as
    the MIT license. For now, mold is released under the GNU AGPL v3.
    >>

     
  • 2.13, Аноним (13), 18:21, 26/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В правильную *бсд возьмут, там даже компилятор гцц последний. Судя по тестам, по производительности она близка к линуксу и остальные отстают.
     
     
  • 3.33, Аноним (33), 10:16, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Стрекоза?
     
  • 2.32, Аноним (33), 10:13, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Их проблемы.
     
  • 2.37, Denver (??), 10:52, 01/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Уже во фряхе
    user@localhost:~ # pkg search mold
    mold-1.1                       Modern Linker
     

  • 1.31, Аноним (31), 06:49, 27/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    У меня только один вопрос.. Кто все это пишет? Откуда у них столько мотивации?
     
     
  • 2.34, акроним (?), 14:49, 27/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    автора lld перестала устраивать скорость и он решил сделать что-то новое
     
     
  • 3.36, Аноним (36), 19:27, 28/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Странно, учитывая что lld и так быстрее всех альтернатив.
     

  • 1.35, Vacu923ek (ok), 14:51, 28/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот что бывает, когда за дело берутся профи. Да не иссякнет их запал. :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру