¿Cuál es la diferencia entre GNU_LIBC_VERSION y GNU_NPTL_VERSION?

votos
1

Observe estas dos configuraciones de configuración del sistema RedHat Linux:

$ getconf GNU_LIBC_VERSION
glibc 2.3.4

$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.3.4

Veo que corresponden a algunas de las bibliotecas de TLS:

/lib/tls/libc-2.3.4.so
/lib/tls/libm-2.3.4.so
/lib/tls/libpthread-2.3.4.so
/lib/tls/librt-2.3.4.so

Me gustaría vincular contra estas bibliotecas en lugar de los /usr/libequivalentes. Tengo algunas preguntas:

  1. Lo he visto en RedHat y Debian. ¿Existe en todas las distribuciones GNU Linux?
  2. ¿Hay algún caso donde GNU_LIBC_VERSIONdifiera GNU_LIBPTHREAD_VERSION?
  3. ¿Son seguras para usar esas variables para identificar las bibliotecas compartidas /lib/tls? Me gustaría automatizar esto en un Makefile, en lugar de codificar un número mágico de versión glibc / pthread.
Publicado el 09/12/2008 a las 22:57
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
3

El proyecto NPTL que implementó pThreads en Linux por primera vez fue un proyecto separado que inicialmente agregó soporte para Kernel y proporcionó su propia biblioteca.

Cuando era lo suficientemente estable, se fusionó en glibc. Supongo que esas dos versiones son idénticas en todas las instalaciones razonablemente actualizadas.

En Ubuntu 8.10, la salida es así:

$ getconf GNU_LIBC_VERSION
glibc 2.8.90
$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.8.90
Respondida el 09/12/2008 a las 23:12
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more