Выпуск системной библиотеки Glibc 2.38 и набора утилит GNU Binutils 2.41
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.38, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2017. В состав нового выпуска включены исправления от 67 разработчиков.
Из реализованных в Glibc 2.38 улучшений можно отметить:
- Добавлена поддержка работы в окружении операционной системы Hurd на системах x86_64. Для работы требуется binutils как минимум версии 2.40 и GCC версии 13.
- Добавлены новые функции strlcpy и strlcat - альтернативы функциям strncpy и strncat, содержащие защиту от переполнения буфера и обязательно выставляющие замыкающий строку нулевой байт. Реализация функций перенесена из OpenBSD. Ожидается, что в будущем данные функции будут включены в стандарт POSIX.
- Добавлена возможность сборки Glibc с опцией "--enable-fortify-source", включающей режим защиты "_FORTIFY_SOURCE" для выявления возможных переполнений буфера во время выполнения строковых функций, определённых в заголовочном файле string.h.
- Для архитектуры AArch64 реализована поддержка векторной математической библиотеки libmvec. При сборке libmvec можно отключить при помощи опции
"--disable-mathvec".
- При включении поддержки будущего Си-стандарта C2X во входных параметрах функций strtol, strtoll, strtoul, strtoull, strtol_l, strtoll_l,
strtoul_l, strtoull_l, strtoimax, strtoumax, strtoq, strtouq, wcstol,
wcstoll, wcstoul, wcstoull, wcstol_l, wcstoll_l, wcstoul_l,
wcstoull_l, wcstoimax, wcstoumax, wcstoq и wcstouq разрешено использование префиксов 0b и 0B для определения двоичных значений.
Аналогично разрешено использование значений с префиксами 0b и 0B при определении режима форматирования через спецификатор "%i" в функциях fscanf, scanf, sscanf, vscanf, vsscanf,
vfscanf, fwscanf, wscanf, swscanf, vfwscanf, vwscanf и vswscanf. Независимо от активации стандарта C2X указанные функции также поддерживают отдельный параметр форматирования "%b" для двоичных чисел.
- В заголовочный файл inttypes.h добавлены макросы PRIb*, PRIB* и SCNb*, определённые в спецификации C2X.
- В функции семейства printf для аргументов с типами intN_t, int_leastN_t, uintN_t и uint_leastN_t добавлена поддержка модификаторов размера "wN" в параметрах форматирования (например, %w32d для вывода значения с использованием типа int32_t).
Аналогично для аргументов с типами int_fastN_t и uint_fastN_t добавлена поддержка модификаторов "wfN".
- Добавлена настройка glibc.pthread.stack_hugetlb для отключения применения THP (Transparent Huge Pages) при распределении стека во время выполнения функции pthread_create.
- По умолчанию прекращена сборка библиотеки libcrypt, которая в будущем вероятно будет удалена из состава Glibc.
Для возвращения сборки следует использовать опцию "--enable-crypt".
Разработчикам приложений рекомендуется перейти на использование альтернативных библиотек, таких как libxcrypt.
- Удалены опции "--disable-experimental-malloc" и "--enable-tunables" (внутренние настройки теперь всегда включены).
- Устранена уязвимость CVE-2023-25139, приводящая к переполнению буфера в функциях семейства printf при записи в буфер строковых представлений чисел с разделителями тысячных диапазонов, если размер буфера рассчитан без учёта разделителей (например, вывод 1,234,567 приведёт к переполнению на 2 байта).
В то же время опубликован релиз набора системных утилит GNU Binutils 2.41, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip.
В новой версии Binutils:
- В порт для архитектуры MIPS добавлена поддержка процессоров Sony Interactive Entertainment Allegrex, используемых на приставках PlayStation Portable.
- В порт для архитектурыRISC-V добавлена поддержка расширений:
- Zicond (условные инструкции обнуления).
- Zfa (дополнительные инструкции для вычислений с плавающей запятой).
- Zvbb, Zvbc, Zvkg, Zvkned, Zvknh[ab], Zvksed, Zvksh, Zvkn, Zvknc, Zvkng,
Zvks, Zvksc, Zvkg, Zvkt (векторные расширения для криптографии).
- XVentanaCondOps (расширения, специфичные для процессоров Ventana Micro Systems).
- В порт для архитектуры LoongArch добавлена поддержка расширений:
- LSX (Loongson SIMD eXtension, 128-разрядные векторы).
- LASX (Loongson Advanced SIMD eXtension; 256-разрядные векторы), LVZ (Loongson Virtualization).
- LBT (Loongson Binary Translation).
- В ассемблер (gas) добавлена поддержка инструкций и расширений наборов команд процессоров:
- Intel: FRED, LKGS, AMX-COMPLEX.
- AArch64: SME2.
- LoongArch: LSX, LASX, LVZ и LBT.
- В ассемблере реализована поддержка директивы ".insn", работающей на системах x86.
- В компоновщик ld добавлена опция "--remap-inputs
<PATTERN>=<FILE>" для замены входных файлов, соответствующих маске "<PATTERN>", на файл "<FILE>". Также добавлена опция "--remap-inputs-file=<FILE>", позволяющая загрузить список подобных замен из отдельного файла.
- Для файлов в формате ELF добавлена возможность использования опции "--print-map-locals" для включения локальных символов в карту компоновки.
- В скрипты компоновщика добавлена команда ASCIZ "string" для вставки в текущую позицию строки, оканчивающуюся нулевым символом.
- В компоновщик добавлена команда "-z nosectionheader" для пропуска заголовка секций ELF.
- В утилите objdump реализована возможность применения опции "--private" для показа содержимого полей из заголовков и секций файлов в формате PE.
Добавлена опция "--strip-section-headers" для удаления заголовка секции из ELF-файла.
- В gas, ld, readelf и objdump по умолчанию задействован формат SFrame Version 2.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://sourceware.org/piperma...)
- OpenNews: Для избавления Glibc от проблемы 2038 года предложено прекратить использование utmp
- OpenNews: Выпуск системной библиотеки Glibc 2.37
- OpenNews: Реализована возможность сборки Glibc при помощи инструментария LLVM
- OpenNews: Конфликт между Ричардом Столлманом и командой разработчиков Glibc
- OpenNews: Проект Glibc отменил обязательную передачу прав на код Фонду СПО
Похожие новости:
- Для избавления Glibc от проблемы 2038 года предложено прекратить использование utmp
- Выпуск системной библиотеки Glibc 2.37
- Реализована возможность сборки Glibc при помощи инструментария LLVM
- Выпуск GNU Binutils 2.40
- Выпуск GNU Binutils 2.39
- Выпуск системной библиотеки Glibc 2.36
- Выпуск GNU Binutils 2.38
- Выпуск системной библиотеки Glibc 2.35
- Уязвимости в OpenSSL, Glibc, util-linux, драйверах i915 и vmwgfx
- Уязвимось в Glibc, позволяющая вызвать крах чужого процесса
Теги для поиска: #_glibc, #_binutils
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Дек 22:58
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.38, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2017. В состав нового выпуска включены исправления от 67 разработчиков. Из реализованных в Glibc 2.38 улучшений можно отметить:
В то же время опубликован релиз набора системных утилит GNU Binutils 2.41, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip. В новой версии Binutils:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 03-Дек 22:58
Часовой пояс: UTC + 5