* [devel] ALT_2.24 (was: [#175881] p8 FAILED copy=SDL)
@ 2017-01-08 11:48 Alexey Tourbin
2017-01-08 12:12 ` Dmitry V. Levin
0 siblings, 1 reply; 3+ messages in thread
From: Alexey Tourbin @ 2017-01-08 11:48 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Sat, Jan 7, 2017 at 10:22 PM, Girar Builder awaiter robot
<girar-builder@altlinux.org> wrote:
> http://git.altlinux.org/tasks/175881/logs/events.1.1.log
>
> 2017-Jan-07 19:20:28 :: test-only task #175881 for p8 started by mike:
> #100 copy SDL from sisyphus
> 2017-Jan-07 19:20:30 :: copy from `sisyphus': SDL-1.2.14-alt7.src.rpm
> 2017-Jan-07 19:20:36 :: build check OK
> 2017-Jan-07 19:20:36 :: noarch check OK
> 2017-Jan-07 19:20:38 :: plan: src +1 -1 =17510, i586 +3 -3 =33884, x86_64 +3 -3 =33833
> 2017-Jan-07 19:20:38 :: version check OK
> 2017-Jan-07 19:21:54 :: generated apt indices
> 2017-Jan-07 19:21:54 :: created next repo
> i586: NEW unmet dependencies detected:
> libSDL#1.2.14-alt7 libc.so.6(ALT_2.24)
> x86_64: NEW unmet dependencies detected:
> libSDL#1.2.14-alt7 libc.so.6(ALT_2.24)(64bit)
Мужчины, это всё не очень хорошо. Своего интерфейса ALT_2.24 быть не должно.
В свое время генеральный конструктор озвучивал тезис: нас интересует
только запускаются ли программы из других дистрибутивов у нас;
запускаются ли наши программы в чужих дистрибутивах, нас не
интересует. Ну слушайте, эта асимметрия абсурдна по крайней мере в
этической плоскости. Это примерно как сказать, что если сдохла корова
у нас - то это нас интересует; а если у американцев - то слава богу,
не интересует!
$ readelf --wide --dyn-sym /lib64/libc.so.6 |grep ALT
155: 00000000000f64e0 25 FUNC GLOBAL DEFAULT 13
__strlcpy_chk@@ALT_2.24
352: 00000000000f6500 25 FUNC GLOBAL DEFAULT 13
__strlcat_chk@@ALT_2.24
1671: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS ALT_2.24
С другой стороны, когда это всё висело на GLIBC_2.2, то это тоже было
не очень хорошо. Потому что это было обман.
У вас зависимость на интерфейс ALT_2.24 получат не отдельные редкие
пакеты, а массово все X-овые пакеты, потому что они кагбе BSD-шные и
там этот strlcpy везде пустил метастазы.
Когда я обдумывал эту тему где-то в 2011 году, я пришел к выводу, что
наименьшим из зол будет подключение strlcpy по линии -lc со стороны
статической библиотеки, кажется она называлась libc_nonshared.a.
По-моему, именно так тогда было сделано в дистрибутиве Owl. Возможен
также более или мене полный или частичный отказ от strlcpy в glibc
(можно, например, попытаться сделать символы недефолтными, чтобы они
все еще предоставлялись, но чтобы с ними уже нельзя было
слинковаться).
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] ALT_2.24 (was: [#175881] p8 FAILED copy=SDL) 2017-01-08 11:48 [devel] ALT_2.24 (was: [#175881] p8 FAILED copy=SDL) Alexey Tourbin @ 2017-01-08 12:12 ` Dmitry V. Levin 2017-01-08 13:08 ` Alexey Tourbin 0 siblings, 1 reply; 3+ messages in thread From: Dmitry V. Levin @ 2017-01-08 12:12 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 2432 bytes --] On Sun, Jan 08, 2017 at 02:48:04PM +0300, Alexey Tourbin wrote: > On Sat, Jan 7, 2017 at 10:22 PM, Girar Builder awaiter robot wrote: > > http://git.altlinux.org/tasks/175881/logs/events.1.1.log > > > > 2017-Jan-07 19:20:28 :: test-only task #175881 for p8 started by mike: > > #100 copy SDL from sisyphus > > 2017-Jan-07 19:20:30 :: copy from `sisyphus': SDL-1.2.14-alt7.src.rpm > > 2017-Jan-07 19:20:36 :: build check OK > > 2017-Jan-07 19:20:36 :: noarch check OK > > 2017-Jan-07 19:20:38 :: plan: src +1 -1 =17510, i586 +3 -3 =33884, x86_64 +3 -3 =33833 > > 2017-Jan-07 19:20:38 :: version check OK > > 2017-Jan-07 19:21:54 :: generated apt indices > > 2017-Jan-07 19:21:54 :: created next repo > > i586: NEW unmet dependencies detected: > > libSDL#1.2.14-alt7 libc.so.6(ALT_2.24) > > x86_64: NEW unmet dependencies detected: > > libSDL#1.2.14-alt7 libc.so.6(ALT_2.24)(64bit) > > Мужчины, это всё не очень хорошо. Своего интерфейса ALT_2.24 быть не должно. Это лирика, интерфейс ALT_2.24 нужен, и он лучше, чем подселение к GLIBC_2.2.5. [...] > У вас зависимость на интерфейс ALT_2.24 получат не отдельные редкие > пакеты, а массово все X-овые пакеты, потому что они кагбе BSD-шные и > там этот strlcpy везде пустил метастазы. > > Когда я обдумывал эту тему где-то в 2011 году, я пришел к выводу, что > наименьшим из зол будет подключение strlcpy по линии -lc со стороны > статической библиотеки, кажется она называлась libc_nonshared.a. > По-моему, именно так тогда было сделано в дистрибутиве Owl. Да, и это было правильно, поскольку степень совместимости пакетов Owl с пакетами соответствующего RHEL'а совершенно другого порядка. Разные задачи -- разные решения. > Возможен > также более или мене полный или частичный отказ от strlcpy в glibc > (можно, например, попытаться сделать символы недефолтными, чтобы они > все еще предоставлялись, но чтобы с ними уже нельзя было > слинковаться). strlcpy с strlcat, которые подготовил Флориан для glibc (см. https://sourceware.org/ml/libc-alpha/2016-05/msg00369.html) это лучшая реализация strlcpy/strlcat из тех, что существуют. Если софт использует strlcpy/strlcat, то пусть уж использует лучшее из возможного. Среди разработчиков glibc, к сожалению, нет консенсуса по этому вопросу, поэтому вместо интерфейса GLIBC_2.24 новые символы попали в интерфейс ALT_2.24. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [devel] ALT_2.24 (was: [#175881] p8 FAILED copy=SDL) 2017-01-08 12:12 ` Dmitry V. Levin @ 2017-01-08 13:08 ` Alexey Tourbin 0 siblings, 0 replies; 3+ messages in thread From: Alexey Tourbin @ 2017-01-08 13:08 UTC (permalink / raw) To: ALT Linux Team development discussions 2017-01-08 15:12 GMT+03:00 Dmitry V. Levin <ldv@altlinux.org>: > On Sun, Jan 08, 2017 at 02:48:04PM +0300, Alexey Tourbin wrote: >> On Sat, Jan 7, 2017 at 10:22 PM, Girar Builder awaiter robot wrote: >> > http://git.altlinux.org/tasks/175881/logs/events.1.1.log >> > >> > 2017-Jan-07 19:20:28 :: test-only task #175881 for p8 started by mike: >> > #100 copy SDL from sisyphus >> > 2017-Jan-07 19:20:30 :: copy from `sisyphus': SDL-1.2.14-alt7.src.rpm >> > 2017-Jan-07 19:20:36 :: build check OK >> > 2017-Jan-07 19:20:36 :: noarch check OK >> > 2017-Jan-07 19:20:38 :: plan: src +1 -1 =17510, i586 +3 -3 =33884, x86_64 +3 -3 =33833 >> > 2017-Jan-07 19:20:38 :: version check OK >> > 2017-Jan-07 19:21:54 :: generated apt indices >> > 2017-Jan-07 19:21:54 :: created next repo >> > i586: NEW unmet dependencies detected: >> > libSDL#1.2.14-alt7 libc.so.6(ALT_2.24) >> > x86_64: NEW unmet dependencies detected: >> > libSDL#1.2.14-alt7 libc.so.6(ALT_2.24)(64bit) >> >> Мужчины, это всё не очень хорошо. Своего интерфейса ALT_2.24 быть не должно. > > Это лирика, интерфейс ALT_2.24 нужен, и он лучше, чем подселение > к GLIBC_2.2.5. Это правда, что подселение к GLIBC_2.2 выглядело тоже плохо. >> У вас зависимость на интерфейс ALT_2.24 получат не отдельные редкие >> пакеты, а массово все X-овые пакеты, потому что они кагбе BSD-шные и >> там этот strlcpy везде пустил метастазы. >> >> Когда я обдумывал эту тему где-то в 2011 году, я пришел к выводу, что >> наименьшим из зол будет подключение strlcpy по линии -lc со стороны >> статической библиотеки, кажется она называлась libc_nonshared.a. >> По-моему, именно так тогда было сделано в дистрибутиве Owl. > > Да, и это было правильно, поскольку степень совместимости пакетов Owl > с пакетами соответствующего RHEL'а совершенно другого порядка. > Разные задачи -- разные решения. А постановку задачи, нужна ли совместимость с другими дистрибутивами или нет, ставит генеральный конструктор, силою своего ума. Взял с утра закусил огурцом и сразу ясно, где тут задачи какого порядка. > strlcpy с strlcat, которые подготовил Флориан для glibc > (см. https://sourceware.org/ml/libc-alpha/2016-05/msg00369.html) > это лучшая реализация strlcpy/strlcat из тех, что существуют. Если софт > использует strlcpy/strlcat, то пусть уж использует лучшее из возможного. > > Среди разработчиков glibc, к сожалению, нет консенсуса по этому вопросу, > поэтому вместо интерфейса GLIBC_2.24 новые символы попали в интерфейс > ALT_2.24. А где там хорошее в коде, который Florian написал? Одно из других возражений, которое я не успел написать, что нет кагбе SSE2-реализации, которая бы оправдывала существование такой entry в PLT. А если нету entry в PLT, то всё сводится к вызову memcpy, как у Florian'а. А если всё сводится к вызову memcpy, тогда это не грех это сделать static inline, или же добавлять glue code в libc_nonshared.a. Хорошо в реализции Florian'а только то, что раньше это всё по одной букве перебиралось, а теперь сведено к memcpy, который в типичном случае делает 16 букв за раз; но это не заслуга Florian'а. И кстати пишу всё это не голословно, недавно думал, как найти префикс двух строк, в результате написал какой-то код для SSE2, может конечно совсем детсадовский по меркам корифеев уровня H.J. Lu, но все-таки. github.com/svpv/frenc/blob/master/lcp.h ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-08 13:08 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-01-08 11:48 [devel] ALT_2.24 (was: [#175881] p8 FAILED copy=SDL) Alexey Tourbin 2017-01-08 12:12 ` Dmitry V. Levin 2017-01-08 13:08 ` Alexey Tourbin
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git