As novas versões do glibc podem ser usadas com um kernel antigo?

14

Aparentemente, o glibc pode ser compilado com --enable-kernel para suportar versões mais antigas do kernel. No entanto, não consegui encontrar informações sobre quais versões do kernel são suportadas em uma versão glibc específica . Idealmente, eu quero ver uma matriz de compatibilidade para todos os lançamentos glibc (2.x) e kernel (2.6.x). Existe?

Se não existir, talvez seja porque todas as versões glibc (nos últimos 5 anos ou mais) suportam todos os kernels desde 2.6.0?

(Arch = x86-64, se isso importa)

    
por netvope 20.03.2011 / 06:32

2 respostas

5

Para algumas versões do glibc , o e-mail de anúncio diz quais versões do kernel são compatíveis.

glibc    Released      Kernel
----------------------------------------------------------

2.27     2 Feb 2018    (same as 2.26?)
2.26     2 Aug 2017    3.2
2.25     5 Feb 2017    (same as 2.24?)

2.24     4 Aug 2016    on i[4567]86 and x86_64  ->  2.6.32
2.24     4 Aug 2016    on other platforms       ->  3.2

Pode ser possível estender a tabela acima rastreando e lendo mais dos e-mails de anúncio para versões mais antigas (ou mais recentes) de glibc .

Para referência:

Linux distribution    glibc version

Debian 9 Stretch      2.24
Debian 10 Buster      2.27 (as of March 2018).

Ubuntu 16.04          2.23
Ubuntu 16.10          2.24
Ubuntu 17.04          2.24
Ubuntu 17.10          2.26
Ubuntu 18.04          2.27

Fontes:
A Biblioteca GNU C (glibc)
A versão GNU C Library 2.27 está agora disponível
A biblioteca GNU C versão 2.26 está agora disponível
A versão 2.25 da biblioteca GNU C já está disponível
A biblioteca GNU C versão 2.24 já está disponível DistroWatch.com: Ubuntu

    
por 15.03.2018 / 20:00
4

De acordo com o README do projeto você pode usar o glibc com kernels 2.4, mas você perderá algumas funcionalidades:

When working with Linux kernels, the GNU C Library version 2.4 is intended primarily for use with Linux kernel version 2.6.0 and later. We only support using the NPTL implementation of pthreads, which is now the default configuration. Most of the C library will continue to work on older Linux kernels and many programs will not require a 2.6 kernel to run correctly. However, pthreads and related functionality will not work at all on old kernels and we do not recommend using glibc 2.4 with any Linux kernel prior to 2.6.

Observe que --enable-kernel=VERSION significa:

compile for compatibility with kernel not older than VERSION

    
por 20.03.2011 / 11:02