Vidéo: Le Noyau Linux 4.19 Nécessite Maintenant GCC 4.6 Pour Se Construire, En Raison D'échecs De Compilation Sur Une Architecture Plus Ancienne
2024 Auteur: Kayla Nelson | [email protected]. Dernière modifié: 2023-12-17 01:28
Pour les développeurs Linux travaillant sur le noyau, le noyau Linux 4.19 à paraître augmente la version minimale de GCC requise pour la construction du noyau. Le noyau Linux officiel a répertorié GCC 3.2 comme la version minimale du compilateur requise pour la construction du noyau, mais le noyau Linux 4.19 élève cela à GCC 4.6.
Ceci est dû au fait que diverses architectures sur les anciennes versions de GCC4 n'ont pas réussi à compiler proprement le noyau Linux, d'où la raison pour laquelle GCC 4.6 est défini comme le minimum. Le noyau vérifiera également explicitement la présence de GCC 4.6.0 ou plus récent et s'il n'est pas trouvé, le compilateur affichera une erreur.
Ceci est également bénéfique pour le code du noyau, car les développeurs du noyau ont pu supprimer plusieurs dizaines de lignes de code pour les anciennes solutions de contournement GCC qui visaient les bogues du compilateur et les différences de comportement dans les anciennes versions du compilateur.
Ce changement a été fusionné juste plus tôt dans la journée viGit commit - et GCC 4.6.0 a été publié en 2011, nous verrons donc si GCC a également des mises à jour dans le futur.
Le changelog / commit de cette mise à jour spécifie essentiellement que le changement est à peu près entièrement dû au fait que les anciennes versions du compilateur GCC ne parviennent pas à construire le noyau sous diverses architectures, comme indiqué ci-dessous:
Diverses architectures ne parviennent pas à se construire correctement avec les anciennes versions du compilateur gcc. Un exemple de Guenter Roeck dans le thread [1]:>> Dans le fichier inclus de./include/linux/mm.h:17:0,> de./include/linux/pid_namespace.h:7,> de./include /linux/ptrace.h:10,> de arch / openrisc / kernel / asm-offsets.c: 32:>./include/linux/mm_types.h:497:16: erreur: membre de tableau flexible dans une structure autrement vide> > Ceci n'est qu'un exemple avec gcc 4.5.1 pour or32. J'ai également vu le problème avec gcc 4.4 (pour unicore32). Mettez donc à jour la version minimale requise de gcc vers 4.6. [1] https://lore.kernel.org/lkml/20180814170904. [email protected]/ Divers: - Mettre à jour la documentation / process / changes.rst - Supprimer et consolider les blocs de test de version dans compiler-gcc.h pour les versions inférieures à 4.
En ce qui concerne les efforts de LLVM Clang pour construire le noyau Linux x86_64 principal, il y a actuellement un certain blocage avec les efforts, en particulier dans le projet LLVMLinux - bien qu'il y ait eu du travail dans la construction du noyau via l'espace ARM Linux avec Clang.
Conseillé:
Canonical Publie Les Correctifs Du Noyau Ubuntu 18.04 LTS Et 16.04.4 LTS Pour Résoudre Les échecs De Démarrage
Après avoir corrigé une régression qui a provoqué des échecs de démarrage sur certaines machines AMD dans Ubuntu 14.04 LTS, puis publié une mise à jour de sécurité du noyau Linux pour
La Grande Liste Des Marques De Chromebook Les Plus Populaires Ne Recevra Pas De Support Linux En Raison Du Noyau 3.14
Il s'avère que malheureusement, de nombreux Chromebooks dotés du noyau Linux 3.14 ne bénéficieront d'aucune assistance pour les applications Linux de la part de Google, y compris
Le Noyau Linux Clair Optimisé Est Maintenant Disponible Pour Fedora 28 Et Fedora Rawhide
Une discussion récente de la liste de développement pour la distribution Linux populaire Fedora a mentionné les optimisations Clear Linux, qui peuvent être pertinentes pour les développeurs Fedora dans le
System76 Ouvre Une Usine De Fabrication Pour Construire Des Ordinateurs Portables Linux
System76, le vendeur populaire de puissants ordinateurs basés sur Linux livrés avec le Pop OS ultra-optimisé, a récemment publié quelques photos sur Twitter
Correction Nous Avons Restauré Cette Installation Sur Une Version Plus Ancienne Du Problème League Of Legends
L'erreur «Nous avons restauré cette installation sur une version plus ancienne de League of Legends» se produit lors de la mise à jour de League of Legends et les utilisateurs restent bloqués dans un