LINUX.ORG.RU

Релиз Glibc 2.15

 ,


0

2

Представлен релиз библиотеки GNU C Library glibc 2.15, которая лежит в основе большинства дистрибутивов GNU/Linux.

Среди изменений:

  • добавлена утилита pldd, которая показывает список загруженных объектов для заданного процесса
  • произведена оптимизация функций strcpy, strncpy, stpcpy, stpncpy с использованием инструкций SSE2 и SSSE3 для архитектур x86-32 и x86-64
  • оптимизированы memchr, memrchr, rawmemchr, memcmp, wmemcmp, wcschr, wcscpy для архитектур x86-64 и x86-32
  • возобновлена поддержка nss_db, которая теперь не зависит от BerkeleyDB
  • добавлена проверка версий FD_SET, FD_CLR и FD_ISSET
  • введены новые локали: bho_IN, unm_US, es_CU, ta_LK
  • введены новые программные интерфейсы process_vm_readv и process_vm_writev

Исходные коды могут быть загружены со следующих зеркал:

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

★★★★★

Проверено: Shaman007 ()

so slow

$ pacman -Qi glibc
Название              : glibc
Версия                : 2.15-7
URL                   : http://www.gnu.org/software/libc
Лицензии              : GPL  LGPL
Группы                : base
Предоставляет         : Нет
Зависит от            : linux-api-headers>=3.1.6  tzdata
Конфликтует с         : Нет
Заменяет              : Нет
Установленный размер  : 33860,00 KiB
Сборщик               : Allan McRae <allan@archlinux.org>
Архитектура           : i686
Дата сборки           : Чт. 01 марта 2012 13:00:43
Дата установки        : Вт. 06 марта 2012 15:55:42
Причина установки     : Явно установлен
Установочный скрипт   : Yes
Описание              : GNU C Library
geekless ★★
()
Ответ на: so slow от geekless

Date: Wed, 21 Mar 2012 15:54:17 -0400 Subject: The GNU C Library version 2.15 is now available.

релиз состоялся вчера, а в арче уже 2.15-7?!

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

так вот откуда растут все арчепроблемы!

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

пацаны ваще ребята!

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

А разве не eglibc уже везде?

вроде как только в debian и производных

vaino
()
Ответ на: Не удивил от geekless

Не удивил
так это уже 7-й билд в начале марта, а первый — в декабре.

ну дык:

$ cat /var/log/dpkg.log.1 | grep "libc6 2.15" | head -1
2012-02-09 14:52:21 status unpacked libc6 2.15~pre6-0ubuntu10

это было обновление с 10го билда 2.15~pre ;)

vaino
()

добавлена утилита pldd, которая показывает список загруженных объектов для заданного процесса

А чем оно отличается от cat /proc/<pid>/maps ? Может ли оно что-то, чего невозможно сделать шелл-скриптом?

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

Скорее всего эта утилита как раз и парсит maps/smaps.

smartly ★★★
()

произведена оптимизация функций strcpy, strncpy, stpcpy, stpncpy с использованием инструкций SSE2 и SSSE3 для архитектур x86-32 и x86-64

удивлен, что этого не было раньше

оптимизированы memchr, memrchr, rawmemchr, memcmp, wmemcmp, wcschr, wcscpy для архитектур x86-64 и x86-32

а это тоже с помощью SIMD?

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

Архитектура x86-32 тоже существует. Это тоже самое что и x86-64, но sizeof(void*) == 4

x86-32 - это именно 32 бит, а то, что ты имеешь ввиду - x32

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

скорее, x32 это, все-таки, не архитектура (в хардварном понимании). дефиниции данных терминов гуглить лень, но x32 abi - лишь target для компилятора, а программы запускаются на x64, как я понял.

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

релиз состоялся вчера, а в арче уже 2.15-7?!

В Fedora 17 поменяли версию с 2.14.90 на 2.15 первого января, и там уже было 28 пересборок.

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

скорее, x32 это, все-таки, не архитектура

да, это именно не архитектура - это ABI, но называется именно так

но x32 abi - лишь target для компилятора, а программы запускаются на x64, как я понял.

не только для компилятора, нужна поддержка от ОС, в частности - libc

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

спасибо за разъяснения.

возвращаясь к сабжу, предполагаю, что оптимизацию провели и для x86, и для x86-64, и для x32

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

тема сисек раскрыта?

ymn ★★★★★
() автор топика

А что за версии фдсетов ?

mmarkk
()
zypper -r se glibc
Loading repository data...
Reading installed packages...

S | Catalog         | Bundle | Name               | Version    | Arch  
--+-----------------+--------+--------------------+------------+-------
i | oss             |        | glibc              | 2.15-15.1  | i686  
v | oss             |        | glibc              | 2.15-15.1  | i586  
i | oss             |        | glibc-devel        | 2.15-15.1  | i686  
v | oss             |        | glibc-devel        | 2.15-15.1  | i586  
  | oss             |        | glibc-devel-static | 2.15-15.1  | i586  
  | oss             |        | glibc-extra        | 2.15-15.1  | i586  
  | oss             |        | glibc-html         | 2.15-15.1  | noarch
  | oss             |        | glibc-i18ndata     | 2.15-15.1  | noarch
  | oss             |        | glibc-info         | 2.15-15.1  | noarch
i | oss             |        | glibc-locale       | 2.15-15.1  | i586  
  | oss             |        | glibc-obsolete     | 2.15-15.1  | i586  
i | oss             |        | glibc-profile      | 2.15-15.1  | i586  
  | oss             |        | glibc-utils        | 2.15-15.1  | i586  
v | oss             |        | linux-glibc-devel  | 3.3.0-1.1  | noarch
i | System Packages |        | linux-glibc-devel  | 3.3.0-35.4 | noarch

Novell-ch ★★★★★
()

кто пробовал на деле?
лучше услышать от гентушнегов - ибо в случае чего откат грозит попаболью
но вот это

[ root@desktop ] megabaks # echo 2.14.1
2.14.1
[ root@desktop ] megabaks # sh some_trash/test /lib/libc.so.6
cpuid:		15
nop:		13579
call:		13234
i486:		151
i586:		2
i686:		1128
mmx:		965
sse:		543
sse2:		4798
sse3:		1
ssse3:		669
sse4.1:		56
sse4.2:		41
sse4a:		1
3dnowext:		291
[ root@desktop ] megabaks # echo 2.15
2.15
[ root@desktop ] megabaks # sh some_trash/test /var/tmp/portage/sys-libs/glibc-2.15/image/lib/libc.so.6
cpuid:		17
nop:		15157
call:		13623
i486:		152
i586:		2
i686:		1179
mmx:		4408
sse:		5161
sse2:		12445
sse3:		1
ssse3:		1581
sse4.1:		76
sse4.2:		43
sse4a:		1
3dnowext:		1801
[ root@desktop ] megabaks # 
прям так и говорит - «ставь!»

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

А что это за

sh some_trash/test

А x32 - это более эффективные 32-битные приложения под x86_64. Но Линус был не в восторге.

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

[glibc 2.13]гентушнегам (комментарий)

Цитата: 2011 год [glibc 2.13]гентушнегам "...ибо откат глибц - занятие попабольное - мне тупо лень"

Цитата: 2012 год Релиз Glibc 2.15 "... лучше услышать от гентушнегов - ибо в случае чего откат грозит попаболью..."

Постоянство признак мастерства.

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

кто пробовал на деле?
лучше услышать от гентушнегов - ибо в случае чего откат грозит попаболью

лучше пару деньков подождать тем «Обновил glibc и все сломалось» и помониторить багзиллу :)

но вот это ... прям так и говорит - «ставь!»

ниче не говорит

2.14.1-r2
$ ./obj.sh /lib/libc.so.6 
cpuid:		16
nop:		26194
call:		10686
i486:		410
i586:		2
i686:		1547
mmx:		5824
sse:		4414
sse2:		13255
sse3:		858
ssse3:		1469
sse4.1:		139
sse4.2:		242
sse4a:		36
3dnowext:		1023
ну будет там каких-то инструкций больше, но их же можно написать так что тормознее будет в разы

нужно, наверное, запастись бенчмарками и погонять пока 2.14.1 (или вороникса подождать)
а потом сравнить с 2.15

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

тормознее...сомневаюсь
и оптимизации в основных функциях - это очень вкусно
похороникс идёт лесом - они делают выпуки
не объясняя ни словий ни алгоритма ни кол-во заходов
цена их тестам ноль

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

ничё, что процы у нас разные?

ну, я не для сравнения вбросил
ок, пошел собирать/считать

anTaRes ★★★★
()
Ответ на: so slow от geekless

Онологично, бро :)

[ajaxas@r2d2 ~]$ pacman -Qi glibc
Name           : glibc
Version        : 2.15-7
URL            : http://www.gnu.org/software/libc
Licenses       : GPL  LGPL
Groups         : base
Provides       : None
Depends On     : linux-api-headers>=3.1.6  tzdata
Optional Deps  : None
Conflicts With : None
Replaces       : None
Installed Size : 37520.00 KiB
Packager       : Allan McRae <allan@archlinux.org>
Architecture   : x86_64
Build Date     : Thu 01 Mar 2012 12:29:20 PM NOVT
Install Date   : Sun 04 Mar 2012 12:09:02 AM NOVT
Install Reason : Explicitly installed
Install Script : Yes
Description    : GNU C Library
ajaxas
()
Ответ на: комментарий от megabaks
2.14.1-r2
$ ./obj.sh /lib/libc.so.6 
cpuid:		16
nop:		26194
call:		10686
i486:		410
i586:		2
i686:		1547
mmx:		5824
sse:		4414
sse2:		13255
sse3:		858
ssse3:		1469
sse4.1:		139
sse4.2:		242
sse4a:		36
3dnowext:		1023
$ ./obj.sh libc-2.15.so 
cpuid:		18
nop:		27065
call:		11018
i486:		413
i586:		2
i686:		1598
mmx:		6936
sse:		8575
sse2:		16391
sse3:		859
ssse3:		2290
sse4.1:		230
sse4.2:		243
sse4a:		37
3dnowext:		2278
avx:		1536
anTaRes ★★★★
()
Ответ на: комментарий от anTaRes

ну вот, а говоришь «не говорит»
ах да - у тебя 64

megabaks ★★★★
()

произведена оптимизация функций strcpy, strncpy, stpcpy, stpncpy с использованием инструкций SSE2 и SSSE3

Во первых в SSSE3 одна лишняя буква S, исправте. Во вторых непонятно почему раньше так не оптимизировали. SSE2 и SSE3 уже довольно старые расширения x86.

bbk123 ★★★★★
()

я так понимаю, в ней пока ещё итаник не выпилен?8)

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

Видимо тем, что не зависит от наличия работающей /proc

Судя по коду, таки зависит, но учитывает потоки и использует auxv.

anonymous
()

> произведена оптимизация функций strcpy, strncpy, stpcpy, stpncpy с использованием инструкций SSE2 и SSSE3 для архитектур x86-32 и x86-64

1/8 всех программ теперь будет вылетать с «ошибкой сегментирования», но это объявят не багом, а фичей, потому что авторы софта грубо нарушили стандарты при написании программ?

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

авторы софта грубо нарушили стандарты при написании программ

ссзб

Вопрос уже обсуждался неоднократно.

Юзерам, которые не хотят натыкаться на проблемы, «которые их не касаются», следует использовать стейбл-ветки. И дистры, в которых есть стейбл-ветки.

А «авторам» причесать свой код лишний раз бесполезно не будет.

И, кстати, не видел в man'ах упомянутых функций каких-либо оговорок, из-за которых такая оптимизация может что-то сломать.

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