The OpenNET Project / Index page

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

Выпуск GNU Binutils 2.36

25.01.2021 11:13

Представлен релиз набора системных утилит GNU Binutils 2.36, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip.

В новой версии:

  • При определении порядка связывания атрибутов в ELF-секциях добавлена возможность указания числовых индексов секций вместо символьных имён.
  • Добавлена директива ".nop" для генерации отельной инструкции no-op, которая не влияет на нумерацию строк в отладочных таблицах DWARF.
  • Прекращена поддержка опций "--reduce-memory-overheads" и "--hash-size", так как ассемблер теперь используют хэш-таблицы, которые могут расширяться или уменьшаться автоматически.
  • Для систем x86/x86_64 в ассемблер добавлена поддержка инструкций AVX VNNI, HRESET, UINTR, TDX, AMX и Key Locker, а также реализована возможность указания не абсолютных значений сегментов в инструкциях lcall и ljmp. В ассемблер для x86 добавлена поддержка префикса "{disp16}". При сборке в Linux на системах x86 по умолчанию включена опция "--enable-x86-used-note".
  • Для систем ARM/AArch64 в ассемблере реализована поддержка процессоров Cortex-A78, Cortex-A78AE, Cortex-X1, Cortex-R82, Neoverse V1 и Neoverse N2. Добавлена поддержка расширений Armv8-R и Armv8.7-A, системных регистров ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace Extension), TRBE (Trace Buffer Extension), CSRE (Call Stack Recorder Extension) и BRBE (Branch Record Buffer Extension), инструкций CSR PDEC, WFET и WFIT, флагов "+csre", "+flagm", "+pauth" и "+ls64" в "-march"
  • В компоновщик добавлена опция "--error-handling-script=<NAME>" (позволяет вызвать скрипт при обнаружении отсутствующей библиотеки или неопределённого символа), а также опции "-z x86-64-{baseline|v[234]}" и "-z unique-symbol". При создании DLL в формате PE задействованы настройки повышения безопасности. Обеспечена дедупликация типов в секциях ".ctf", для управления которой предложена опция "--ctf-share-types". По умолчанию для экономии места обеспечен пропуск секции "variable" в ".ctf".
  • В утилиту ar добавлена поддержка модификатора "l" для задания зависимостей для статической библиотеки.
  • В readelf появилась опция "--lto-syms" для отображения содержимого таблиц символов из секций LTO, а также опция "-C" для реконструкции оригинальных имён символов.


  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Выпуск GNU Binutils 2.35
  3. OpenNews: Выпуск GNU Binutils 2.34
  4. OpenNews: Релиз netutils-linux 2.5, утилит для мониторинга и тюнинга сетевого стека Linux
  5. OpenNews: Выпуск набора базовых системных утилит GNU Coreutils 8.32
  6. OpenNews: Опубликован пакет wayland-utils 1.0.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54464-binutils
Ключевые слова: binutils
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (37) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Леголас (ok), 11:19, 25/01/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    ассемблер -- это хорошо, очень хорошо
     
     
  • 2.2, Аноним (2), 11:26, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А llvm-bitcode - ещё лучше!
     
     
  • 3.4, leibniz (??), 11:50, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    эталонный вброс в гнутом треде
     
  • 3.5, Аноним (5), 12:21, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не одобрено мэтром СПО.
     
     
  • 4.8, Аноним (8), 12:51, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Осталось только не одобрить этого самого мэтра.
     
     
  • 5.23, Аноним (-), 21:52, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Дык уже больше года как
    https://www.opennet.dev/opennews/art.shtml?num=51498
     
     
  • 6.26, Аноним (26), 02:43, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Корпорасты убрали неугодного и подмяли под себя фонд.
     
  • 3.16, Аноним (16), 15:45, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а с llvm-bitcoin вообще будет красота
     
     
  • 4.28, Аноним (-), 10:39, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да собственно bitcoin и без llvm хорош. Так что и хрен с ним, с LLVM.
     
  • 2.3, Аноним (3), 11:34, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как бы все что выше - не прерогатива бинутилсов уже.
     
  • 2.6, Аноним (6), 12:27, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    WebAssembly лучше.
     
     
  • 3.18, leibniz (??), 16:31, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не согласен!
     
  • 2.7, Аноним (8), 12:42, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ассемблер — это для стиляг. Настоящие программисты смотрят команды в справочнике и вбивают их коды в двоичном виде дырочками в перфокартах.
     
     
  • 3.9, Леголас (ok), 13:04, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    так то я тот ещё щёголь ;)
     
  • 3.11, 1 (??), 13:57, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    настоящие программисты набирают программы прямо на пульте, в двоичном коде, ну на крайняк в восьмиричном или шестнадцатиричном)))
     
     
  • 4.13, 1 (??), 14:02, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как Сеймур Крэй говорят продиктовал 4Кбайта загрузчика по телефону и заработало!!!
     
     
  • 5.20, Аноним (20), 19:26, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Билл Гейтс свой бейсик для компьютера Альтаир на перфоленте писал через телетайп. Потому что он настоящий программист, а не хипстер какой-то. И бейсик те же 4 килобайта весил.
     
     
  • 6.31, Аноним (-), 10:42, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по продаже IBM операционки которой у него не было - таки жуликоватый хипстер, хоть и первобытный.
     
     
  • 7.32, Аноним (32), 12:24, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Он и в Альтаир продал бейсик, который он еще не написал. Хотя бы в силу того что у него даже не было этого компьютера. Но код им самим пришлось писать. И на стороне заказали только код для операций с числами с плавающей точкой.
     
  • 5.30, Аноним (-), 10:41, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А что поделать, если у тебя еще нет модема - ты и 8 килобайт продиктуешь, если другие опции недоступны.
     
     
  • 6.33, Аноним (32), 12:26, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Факс, письмо, курьерская доставка, фельдъегерская служба. Из всех доступных вариантов они выбрали самый неподходящий.
     
  • 4.25, Аноним (25), 23:58, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Настоящие программисты используют бабочек.
     
  • 3.29, Аноним (-), 10:40, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вы мамонты! Настоящие джедаи давно настукивают команды в JTAG двумя кнопками!
     

  • 1.10, Аноним (-), 13:46, 25/01/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Если вы на чистой сишке компилируете код, в финальной стадии компиляции формируется код на ассемблере с синтаксисом AT&T. Так вот, GCC вызывает GNU assembler, который в свою очередь и формирует двоичный код из ассемблерного листинга. GCC зависит от GNU binutils.

    Про роль линкеров ld и gold говорить не буду. Мэйнтейнеры пакетов их хорошо знают.

    Синтаксис AT&T, древнее самой Intel. Пакет GNU binutils совмещает в себе очень важные программы. Это невидимые трудяги.

     
     
  • 2.19, leibniz (??), 16:32, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен!
     
     
  • 3.21, Аноним (20), 19:26, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поддерживаю предыдущего оратора.
     
  • 2.36, Аноним (-), 00:22, 31/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Аминь
     

  • 1.12, Аноним (12), 13:59, 25/01/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Всё, что нагнули лучше не стало.
     
     
  • 2.17, Аноним (16), 15:47, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    всё что гнётся не ломается
     
     
  • 3.22, anonimous (?), 19:57, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не гнется, не ломается, а только кувыркается!
     
  • 3.24, Аноним (24), 22:43, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зато, если оттянуть и отпустить, по носу звезданёт сильно.
     

  • 1.14, Аноним (14), 14:03, 25/01/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Про роль линкеров ld и gold говорить не буду.

    Расскажи.
    Сижу на bfd. С gold, говорят, не все пакеты собираются.

     
     
  • 2.15, Аноним (15), 14:55, 25/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ведро начиная с 5.2 что ли не собирается с голд. С лто голд вроде лучше и сегодня справляется
     
     
  • 3.27, Аноним (27), 07:51, 26/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Для ведра держу свю версию gcc и binutils. Систему одним компилятором и линковщиком собираю, а ведро другим.
     

  • 1.34, Аноним (34), 21:45, 28/01/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да-да-да. Ассемблер - наше все, ага. Более гадкого чем гнутый я не видел, а на ассемблерах всяких лет 15 писал.
     
     
  • 2.35, adolfus (ok), 15:59, 30/01/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Более гадкого синтаксиса, чем у интел x86 нет ни у кого. Хотя в этом не ассемблер виноват, а сверхдебильная архитектура набора инструкций этого самого x86. В самом же синтаксисе интеловского ассемблера самое дебильное, это что операнды в инструкциях mov располагаются задом наперед. Редкостный маразм. Я так думаю, что изобретатели сего ассемблера били зазомбированы операторами присваивания.
    Ну а обозначение РОН собственнвми именами вместо их естественного нумерования -- просто взрыв долбоебизма. AMD попыталась это исправить в своем x86_64, но безуспешно -- секту x86 просто так не разгонишь.
     

  • 1.37, Аноним (37), 00:25, 31/01/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А где там, что за опция такая

    > В утилиту ar добавлена поддержка модификатора "l" для задания зависимостей для статической библиотеки.

    Changes in 2.36:

    * Add libdep plugin, for linking dependencies of static libraries that
      were recorded by ar in the __.LIBDEP archive member.

    * Add --error-handling-script=<NAME> command line option to allow a helper
      script to be invoked when an undefined symbol or a missing library is
      encountered.  This option can be suppressed via the configure time
      switch: --enable-error-handling-script=no.

    * Add -z lam-u48 to x86-64 ELF linker to generate LAM_U48 property.

    * Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property.

    * Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48
      property.

    * Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57
      property.

    * Add -z lam-report=[none|warning|error] to report missing LAM_U48 and
      LAM_U57 properties.

    * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark
      x86-64-{baseline|v[234]} ISA level as needed.

    * Add -z unique-symbol to avoid duplicated local symbol names.

    * The creation of PE format DLLs now defaults to using a more secure set of DLL
      characteristics.

    * The linker now deduplicates the types in .ctf sections.  The new
      command-line option --ctf-share-types describes how to do this:
      its default value, share-unconflicted, produces the most compact
      output.

    * The linker now omits the "variable section" from .ctf sections by
      default, saving space.  This is almost certainly what you want
      unless you are working on a project that has its own analogue
      of symbol tables that are not reflected in the ELF symtabs.

    * Add support for the SHF_GNU_RETAIN ELF section flag.
      This flag specifies that the section should not be garbage collected by the
      linker.

    Changes in 2.35:

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



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

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