Was ist der Unterschied zwischen GNU_LIBC_VERSION und GNU_NPTL_VERSION?

stimmen
1

Beachten Sie diese beiden RedHat Linux-System-Konfigurationseinstellungen:

$ getconf GNU_LIBC_VERSION
glibc 2.3.4

$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.3.4

Ich sehe sie auf einige der TLS-Bibliotheken entsprechen:

/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

Ich möchte gegen diese Bibliotheken verknüpfen statt der /usr/libÄquivalente. Ich habe ein paar Fragen:

  1. Ich habe dies auf RedHat und Debian gesehen. Ist es auf allen GNU Linux-Distributionen gibt es?
  2. Gibt es einen Fall , in dem GNU_LIBC_VERSIONvon dem unterscheidet GNU_LIBPTHREAD_VERSION?
  3. Sind diese Variablen sicher in zur Identifizierung der gemeinsam genutzten Bibliotheken verwenden /lib/tls? Ich möchte dies in einem Makefile automatisieren, anstatt hart codierte eine magische glibc / Pthread Versionsnummer.
Veröffentlicht am 09/12/2008 um 22:57
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
3

Das NPTL Projekt , das erste pThreads auf Linux implementiert war ein separates Projekt Kernel - Unterstützung zunächst das Hinzufügen und eine eigene Bibliothek bereitstellt.

Wenn es ist stabil genug, wurde es in glibc verschmolzen. Ich würde davon ausgehen, dass diese beiden Versionen auf allen einigermaßen up-to-date-Installationen identisch sind.

Auf Ubuntu 8.10 ist die Ausgabe wie folgt aus:

$ Getconf GNU_LIBC_VERSION
glibc 2.8.90
$ Getconf GNU_LIBPTHREAD_VERSION
NPTL 2.8.90
Beantwortet am 09/12/2008 um 23:12
quelle vom benutzer

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