website logo
Auteur
avatar
rmais96

Forum » » Développement » » Les bibliothèques en mode 'baserel' et leurs problèmes...


Post� : 04-12-2009 21:04 icone du post

Si je comprends bien ce que tu essaies d'expliquer :

Le principe d'accès aux fonctions qui font partie de l'interface publique d'un 'type' Python n'est pas conçu pour permettre la préservation d'un registre processeur, alors que cela s'avère nécessaire sur MorphOS puisque Python utilise les librairies dynamiques (comme sur tout OS) et que le système de librairies dynamiques de MorphOS (hérité de l'AmigaOS) a besoin de cette préservation de registre.

Donc tout code Python qui importe un 'type' Python pour en utiliser les fonctions publiques va provoquer la modification du registre r13 sans en assurer la restauration après l'appel. Ce registre ayant perdu la base vers les données de la librairie Python, cela corrompt l'utilisation de cette librairie.

Du fait de la conception du système d'import des 'types' Python, il n'y a pas de solution simple pour remédier à cela, et c'est donc un problème qui remet en cause le support complet de Python sur MorphOS.

Pour l'instant, le code Python ou les 'type' Python que tu as compilés sur MorphOS tiennent compte de ce problème et tente d'y remédier en restaurant le registre r13. Mais tout code compilé sur un autre système et faisant usage de l'un 'type' lui-même compilé sur un autre système conduit inévitablement au problème sur MorphOS.

Est-ce bien cela que tu nous expliques ?

Cet article provient de Meta-MorphOS
https://www.meta-morphos.org/viewtopic.php?topic=334&forum=52