Oui, elle change tout le temps. Mais uniquement par ajouts. Donc, pour un programme écrit à un instant t0, le noyau lui garantit que l'ABI sera toujours compatible à t1>t0, au point que même un bug présent dans cette ABI sera toujours présent. C'est la grosse problématique de l'ABI du noyau : une fois publiée, elle sera maintenue ad-libitum.
C'est d'ailleurs pour celà que les modules compilés avec une version du noyau fonctionne parfaitement avec toutes les versions suivantes, que les fabriquant de cartes graphiques n'ont jamais besoin de te faire sous compiler des wrappers à la con pour leur pilote proprios, que les progs codés à l'époque de l'alsa 0.8 font des sons absolument parfait encore aujourd'hui et que les ni les appels systèmes de sécurité (genre SE-Linux) ni les appels pilotes génériques (genre WLan) n'ont besoin d'être intégralement réécrits tous les deux mois.
Tu as fumé quoi au juste ?
Une ABI Linux tu es content (mais alors vraiment content) quand elle tient deux mois, même les ABI d'abstractions (genre IDE, SATA,WLan, AGP etc.) elles défilent plus vites que les étoiles filantes un soir d’août.
Déjà que les API tiennent pas 6 mois pour la plupart, alors les ABI tu penses.
Alors je t'accorde le bénéfice du doute, tu as confondu API (le code reste compatible, mais il faut recompiler), avec ABI (les binaires restent compatibles). Mais ceci étant, même au niveau API c'est une véritable valse. A part les API Posix qu'on ne peut que difficilement changer (et encore certaines interprétations par le noyau Linux laissent songeur), les API Linux pur ont tendance à avoir une sacrée bougeotte (à part OSS, qui est l'API la plus stable qui soit bien qu'elle entre dans sa sixième année de deprecation)
[^] # Re: ABI Gaël
Posté par phxonx . En réponse au journal x32: Une nouvelle ABI Linux '32 bits' pour les CPU x86-64. Évalué à -8.
C'est d'ailleurs pour celà que les modules compilés avec une version du noyau fonctionne parfaitement avec toutes les versions suivantes, que les fabriquant de cartes graphiques n'ont jamais besoin de te faire sous compiler des wrappers à la con pour leur pilote proprios, que les progs codés à l'époque de l'alsa 0.8 font des sons absolument parfait encore aujourd'hui et que les ni les appels systèmes de sécurité (genre SE-Linux) ni les appels pilotes génériques (genre WLan) n'ont besoin d'être intégralement réécrits tous les deux mois.
Tu as fumé quoi au juste ?
Une ABI Linux tu es content (mais alors vraiment content) quand elle tient deux mois, même les ABI d'abstractions (genre IDE, SATA,WLan, AGP etc.) elles défilent plus vites que les étoiles filantes un soir d’août.
Déjà que les API tiennent pas 6 mois pour la plupart, alors les ABI tu penses.
Alors je t'accorde le bénéfice du doute, tu as confondu API (le code reste compatible, mais il faut recompiler), avec ABI (les binaires restent compatibles). Mais ceci étant, même au niveau API c'est une véritable valse. A part les API Posix qu'on ne peut que difficilement changer (et encore certaines interprétations par le noyau Linux laissent songeur), les API Linux pur ont tendance à avoir une sacrée bougeotte (à part OSS, qui est l'API la plus stable qui soit bien qu'elle entre dans sa sixième année de deprecation)