2013-01-25 6 views
0

Je demande ici parce que je n'ai aucune idée où trouver des informations sur ce problème. Si vous pouviez me recommander un livre ou un article à ce sujet, je serais ravi.Corrélation entre

Où puis-je trouver des informations sur la corrélation entre le noyau Linux et la version de GLIBC? Je sais que le noyau lui-même contient l'implémentation des fonctions de la libc, mais je ne sais pas comment elles sont livrées.

Par exemple: Récemment, j'ai dû construire le noyau d'un ancien processeur PowerPC. Il est livré avec les fichiers de bibliothèque dynamiques de libc dans la version 2.3.6 prête à l'emploi. Dans/lib/path il y a des fichiers avec des noms comme librt.so-2.3.6.

Quelle est la manière la plus simple de mettre à jour cette bibliothèque vers une version plus récente? Est-il possible de configurer le système de construction du noyau pour qu'il génère un fichier uImage avec une version plus récente de GLIBC ou une version alternative (par exemple EGLIBC)?

Répondre

0

Il y a peu de corrélation, le même noyau devrait fonctionner avec un large éventail de versions de la glibc, et vice versa. La bibliothèque découvre ce que le noyau gère et l'utilise. Pour les détails sanglants de ce qui a changé dans la glibc (c'est ce que vous avez en interaction, y compris la prise en charge des nouvelles fonctionnalités du noyau), vous devriez regarder le changelog en amont. Pour de nouvelles fonctionnalités dans le noyau Linux, peut-être la meilleure source est le périodique "Quoi de neuf dans ..." articles la section du noyau de LWN

+0

Est-il possible, que le code de l'espace utilisateur va fonctionner si je vais simplement remplacer vieux fichiers de bibliothèque avec les nouveaux? – nkdm

+0

Encore une fois, glibc est écrit de sorte que même les programmes liés à des versions plutôt anciennes fonctionnent avec le dernier. Mais ceci est uniquement pour les programmes C, C++ utilise sa propre bibliothèque et certaines modifications du compilateur pas si éloignées font que les anciens exécutables ne fonctionnent pas (et dans la plupart des cas, principalement à cause d'erreurs dans le code). – vonbrand

Questions connexes