LINUX.ORG.RU

Релиз Glibc 2.22

 ,


2

1

Состоялся релиз Glibc 2.22.

Основные изменения:

  • Таблица символов и ctype обновлена до спецификации Unicode 7.0.0. За новый скрипт генератора скажем спасибо Pravin Satpute и Mike Fabian из Red Hat! Это изменение должно быть заметно пользователю, например исправление бага 17998.
  • Добавлена библиотека libmvec для работы с векторами. В ней есть следующие векторные x86_64-операции: cos, cosf, sin, sinf, sincos, sincosf, log, logf, exp, expf, pow, powf. Библиотека зависит от GCC ≥4.9, параметров сборки -fopenmp и -ffast-math, и оптимизации ≥-O1. Shared-библиотека libmvec.so линкуется с параметром -lm (нет необходимости указывать -lmvec).
  • Новая реализация fmemopen для совместимости с POSIX. Это нововведение исправляет множество многолетних багов: 6544, 11216, 12836, 13151, 13152 и 14292. Старая реализация не удалена для совместимости со старыми бинарными файлами.
  • Header-файл <regexp.h> объявлен устаревшим, и будет удалён в следующем релизе. При использовании теперь выдаётся Warning. Разработчикам программ необходимо обновить код приложений.

Малопопулярные архитектуры CPU

  • Для архитектуры s390 добавлен опрос информации о кэше с помощью функции sysconf(). Например с аргументом _SC_LEVEL1_ICACHE_SIZE.
  • Оптимизации TLS для архитектур powerpc и powerpc64. Это оптимизации дескрипторов LD и GD, ранее существовавшие для x86 и x86_64. Для задействования необходимы binutils ≥2.24
  • Для архитектуры SPARC 32-bit исправлен ABI sigaction, который был непреднамеренно сломан в Glibc 2.20. Теперь ABI работает как в Glibc 2.19. Бинарники, собранные с Glibc 2.20-2.21, необходимо пересобрать.
  • Native Client портирован на ARMv7-A (--host=arm-nacl). Скажем спасибо Roland McGrath (Google)!

Исправления ошибок

  • Исправлено переполнение буфера через gethostbyname_r, а также связанных с ней функций, осуществляющих запросы DNS. (CVE-2015-1781)
  • Исправлена ошибка, при которой NSS сообщает внутреннее состояние getXXent и getXXbyYY в одну и ту же базу данных, что может привести к состоянию denial-of-service в некоторых приложениях (CVE-2014-8121)
  • Улучшения "защиты от дурака" в парсер файлов timezone (на случай использования файлов, созданных кустарно). А именно исправлено возможное переполнение буфера при использовании переменных tzh_ttisstdcnt и tzh_ttisgmtcnt, а также переполнение стека при использовании огромного Data-файла Zone.
  • Исправлено множество других ошибок.

>>> Подробности

Оптимизации TLS для архитектур powerpc и powerpc64.

Ура!

Для архитектуры s390 добавлен опрос информации о кэше с помощью функции sysconf()

Тоже наверное нужно, последнее время не тыкаюсь в s390...

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

небось дома серваки с мусорки на ppc, а на работе везде x86_64

anonymous ()
Ответ на: комментарий от anonymous

Ну хз, мусорка это или нет

pinkbyte@timberdoodle ~ $ cat /proc/cpuinfo 
processor       : 0
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 1
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 2
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 3
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 4
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 5
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 6
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 7
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 8
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 9
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 10
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 11
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 12
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 13
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 14
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 15
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 16
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 17
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 18
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 19
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 20
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 21
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 22
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 23
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 24
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 25
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 26
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 27
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 28
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 29
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 30
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

processor       : 31
cpu             : POWER7 (architected)
clock           : 3550.000000MHz
revision        : 2.1 (pvr 003f 0201)

timebase        : 512000000
platform        : pSeries
model           : IBM,8231-E2B
machine         : CHRP IBM,8231-E2B

Да, есть уже на POWER8 конечно серваки, не самоё новье...

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

а мочераторам уже не положено прятать простыню текста в pastebin-ы?

reprimand ★★★★★ ()
Ответ на: комментарий от ymuv

Сборочный сервак генты, тестируем пакеты, генерим stage3

Pinkbyte ★★★★★ ()
Ответ на: комментарий от anonymous

за сколько gcc собирается?

timberdoodle ~ # qlop -g gcc
gcc: Sun Aug 24 04:36:23 2014: 985 seconds
gcc: Wed Aug 27 06:46:37 2014: 905 seconds
gcc: Sat Nov  1 10:36:44 2014: 1466 seconds
gcc: Sat Nov  1 13:52:44 2014: 1443 seconds
gcc: Sat Apr  4 20:04:53 2015: 1433 seconds
gcc: Sat Jul  4 06:33:54 2015: 1451 seconds
gcc: 6 times
Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Сборочный сервак генты

тогда не считается — он нужен сугубо для тестирования порта на ppc

anonymous ()
Ответ на: комментарий от Pinkbyte

наверное можно играть в игры начала 2000х через llvmpipe

anonymous ()
Ответ на: комментарий от Pinkbyte

У нас на работе такое:

System Model: IBM,8202-E4D
Machine Serial Number: 0698C4T
Processor Type: PowerPC_POWER7
Processor Implementation Mode: POWER 7
Processor Version: PV_7_Compat
Number Of Processors: 4
Processor Clock Speed: 3612 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 3 aix1
Memory Size: 30720 MB
Good Memory Size: 30720 MB
Platform Firmware level: AL770_048
Firmware Version: IBM,AL770_048
Console Login: enable
Auto Restart: true
Full Core: false

BeerSeller ★★★★ ()
Ответ на: комментарий от Pinkbyte

видимо, компиляция - не самая сильная сторона этих монстров

# qlop -g gcc
gcc: Fri Aug  7 17:20:56 2015: 1222u seconds
gcc: Fri Aug  7 17:43:13 2015: 952u seconds
gcc: 2 times

обычный core i7 на -j8

anonymous ()
Ответ на: комментарий от romeo250501

почему ссылка на раковник, а не мэйллист/багзиллу разработчиков. я склонен считать что разрабам glibc лучше знать, у glibc пирформанс лучше чем у всех конкурентов

anonymous ()
Ответ на: комментарий от anonymous

При чём тут производительность? Там же срач по поводу бага.

romeo250501 ★★★ ()
Ответ на: комментарий от romeo250501

только сейчас увидел, что заголовок там ведёт на багзиллу. что за говносайт

anonymous ()

Таблица символов и ctype обновлена до спецификации Unicode 7.0.0.

Вот значит кто в линуксах виноват в никакой поддержке utf-32.

Napilnik ★★★★★ ()
Ответ на: комментарий от romeo250501

Забавный вообще чувак. Когда похерил memcpy, орал, что флеш работает не по стандарту. А тут сам на рфц положил.

anonymous ()

Хорошая новость, годный релиз!

«Плоть и кровь» системы живет и развивается :-)

Twissel ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Сборочный сервак генты, тестируем пакеты, генерим stage3

Каталист используете? Или чем вы всё собираете? Не руками же emerge запускаете.

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от Kiborg

Лол, только недавно ловил эту штуковину. Ломало выполнение команд в движке.

a1batross ★★★★★ ()
Ответ на: комментарий от anonymous

Ну там с memcpy сложный случай, и на мой взгляд в итоге было принято самое оптимальное решение из возможных. Все-таки поощрять программистов, не читающих man-ы, не стоит, но и ломать то, что работает, нехорошо.

Kiborg ★★★ ()
Ответ на: комментарий от ZenitharChampion

I checked in a cleaner patch.

Если я правильно понял, он принял патч?

Kiborg ★★★ ()
Ответ на: комментарий от a1batross

Да я как раз тоже отловил на днях с отладчиком, вот и вспомнил. Тот срач по-моему до ЛОРа тоже докатился.

Kiborg ★★★ ()
Ответ на: комментарий от Pinkbyte

Супер. Я давно хочу организовать сервер для сборки бинарных пакетов, а также сборки всего с LLVM. Можешь скинуть конфиги каталиста для сборки, которые вы используете?

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от Pinkbyte

>> Каталист используете?

> Именно

Ведьмак 2 под Linux тормозит? Серверный ATi, типа Quadro или Tesla?

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ktulhu666

доступа к конфигам сборки у меня нет, я в releng не состою

Pinkbyte ★★★★★ ()
Ответ на: комментарий от ZenitharChampion
timberdoodle ~ # cat /proc/bus/pci/devices 
timberdoodle ~ #

Если подскажешь на какой шине он находится, лол, может и посмотрю. Подсказка, если еще не понял: PCI-девайсов там НЕТ

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

А у кого можно получить конфиги для сборки? Или они не разглашаются?

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от Pinkbyte

Подсказка, если еще не понял: PCI-девайсов там НЕТ

Как так!? PCIe порты есть, а PCI-девайсов нет!?

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от Pinkbyte

на этом ещё и шины какие-то проприетарные?

anonymous ()
Ответ на: комментарий от Pinkbyte

А что по поводу повера? Я там лично видел PCIe слоты.

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от anonymous

Хм, странная штука - /sys/bus/pci/devices пустая, а /sys/bus/pci/drivers вполне себе заполненная, много девайсов там. Много чего о ядре и его внутренних структурах я не знаю, это да

Судя по загруженному radeonfb, ZenitharChampion был не так уж и не прав, когда прозревал там что-то ATI-шное

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

сейчас Ъ-way смотреть в /sys

/sys/bus/pci/devices/

anonymous ()
Ответ на: комментарий от anonymous

оттуда udev берёт информацию, она не должна быть неполной

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.