[devel] DT_GNU_HASH
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Авг 9 04:58:45 MSD 2006
On Wed, Aug 09, 2006 at 04:15:10AM +0400, Dmitry V. Levin wrote:
> On Wed, Aug 09, 2006 at 04:07:26AM +0400, Alexey Tourbin wrote:
> > В binutils более новой версии, чем у нас, реализована новая
> > опция --hash-style=gnu. По утверждению редхатовцев, это дает
> > 50% ускорение при запуске приложений.
> > http://sources.redhat.com/ml/binutils/2006-06/msg00418.html
>
> Это даёт ~50% ускорение relocation'ов за счёт более подходящего алгоритма
> хэширования.
И это должно заметно сказать на скорости работы shell скриптов,
в частности, на время загрузки системы.
Кстати, 50% ускорение -- это во сколько раз? В два раза или в полтора?
Скорость увеличивается, а время загрузки уменьшается. Следовало бы
говорить именно о времени загрузки.
> > В общем накапливается уже несколько моментов, ради которых всё стоит
> > пересобрать: -D_FORTIFY_SOURCE, -fstack-protector, -pie, и вот теперь
> > --hash-style.
>
> Я не совсем понимаю, как автоматизировать -pie, но и без -pie причин для
> пересборки достаточно. Хуже другое: я не понимаю, как этот объём пакетов
> выложить и как пользователи будут обновлять свои системы?
Помнится во времена подготовки M22 ко всем пакетам было требование:
пройти пересборку новым компилятором (gcc3.2). Тогда ещё правда не было
ни регулярных пересборок, ни возможности автоматической пересборки; так
что это требование имело большое значение.
Теперь эти возможности есть, однако предлагаю поступить старым способом.
В час X, когда базовая сборочная среда будет готова, отрывается сезон
пересборки пакетов. Maintainer'ам желательно найти какой-нибудь не
слишком пустяковый повод для пересборки пакетов. Например, разобраться
c x86_64, или исправить что-нибудь из багзиллы. В час Y сезон плавно
закрывается и наступает более глубокий фриз. Думаю, что значительная
часть пакетов, и в особенности все важные пакеты, в промежуток X-Y будут
пересобраны. Стоит ли тогда автоматически пересобрать оставшиеся
пакеты, я не знаю.
-pie действительно непросто автоматически прошить. Но можно
воспользоваться вот какими соображениями.
1) если при компиляции объектных файлов не указана опция -fpic/-fPIC,
тогда автоматически врубать -fpie, если только не указана опция -fno-pie.
2) если при линковке не указана опция -shared, то автоматически врубать
опцию -pie, если только не указана -no-pie (кстати, кажется такой опции
нет).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060809/3d87dd47/attachment-0001.bin>
Подробная информация о списке рассылки Devel