[sisyphus] klibc incompatibilities
Dmitry V. Levin
ldv на altlinux.org
Пн Авг 17 00:15:46 MSD 2009
On Sun, Aug 16, 2009 at 09:47:54PM +0400, Valery V. Inozemtsev wrote:
> > > > > да, совсем забыл... на самом деле все еще страшнее. для нашего glibc
> > > > > (собранного с хидерами от 2.6.29) нужно ядро 2.6.27 и выше. т.ч. это
> > > > > 2.6.18 все еще работает просто чудом или весь юзерспейс, что там
> > > > > работает, не использует (пока не использует) новые системные вызовы.
> > > >
> > > > Валера, тот эффект, который ты описываешь, правильно было бы назвать
> > > > glibc ABI break. Только я этот вопрос специально проверял, и ничего
> > > > подозрительного не выявил. Так что, пожалуйста, расскажи подробности.
> > > >
> > >
> > > вот пример (тот же код и в glibc)
> > > http://git.altlinux.org/people/shrek/packages/?p=klibc.git;a=blob;f=usr/klibc/signalfd.c;h=1edc05d936229b5cbf5b56afc1fb2c0ddf56f458;hb=HEAD
> > > __NR_signalfd4 появился в 2.6.27
> > > есть еще кучка at()
> > > http://git.altlinux.org/people/shrek/packages/?p=klibc.git;a=commitdiff;h=7383280c094de24c926623b3996ce651e9d812d4
> >
> > klibc - это простая библиотека, которая, в отличие от glibc, не
> > обеспечивает обратной совместимости. В glibc совсем другой код,
> > при желании можешь посмотреть.
>
> реализация signalfd в klibc была мной слизана из glibc практически 1:1
Если glibc собран со старыми хедерами ядра, то получится signalfd(),
который всегда будет возвращать ENOSYS.
Если glibc собран с новыми хедерами ядра, то получится signalfd(),
который будет возвращать ENOSYS только на старых ядрах, которые не
поддерживают signalfd(2).
Если какой-то userspace завязан на signalfd(2), то он будет работать
только на тех ядрах, котрые поддерживают signalfd(2). Интересно,
кто-нибудь уже заложился на этот signalfd(2) в такой степени?
> > Вопрос, эти новые системные вызовы в безусловной реализации klibc
> > уже где-нибудь используются? Если да, то начиная с каких сборок?
>
> они используются в udev >= 143
Т.е. в Сизифе udev ещё не использует эти системные вызовы.
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 197 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20090817/773c41ab/attachment.bin>
Подробная информация о списке рассылки Sisyphus