[Help] Problème d’alignement avec fstat d’ixemul

5 sujets de 1 à 5 (sur un total de 5)

  • Rmais96

    • Messages : 95
    #2161

    Bonjour,

    Je rencontre des problèmes d’alignement avec la fonction fstat de la

    librairie ixemul (ixemul.library V49.18 [notrap, 604e, morphos] du

    02/03/2005).

    J’ai testé un programme simple. Tout va bien tant que j’utilise la fonction

    fstat de la librairie libnix (option de compilation -noixemul), mais cela

    ne va plus et la structure stat est systématiquement mal remplie (problème

    d’alignement ?) avec la librairie ixemul.

    Le commentaire et le code suivant, tiré du fichier sys/stat.h me laisse

    perplexe :

    […]

    /* ixemul needs 2 bytes alignment for compatibility, libnix doesn’t. */

    #ifdef ixemul

    #pragma pack(2)

    #endif

    […]

    En tout cas, cela ne semble pas suffir à assurer le bon fonctionnement

    de la librairie ixemul.

    Un programme de test mettant en lumière le problème est téléchargeable

    ici :

    http://cgenre.dev.free.fr/libc-fstat-test.lha

    Si l’un de vous peut m’éclairer sur ce problème, cela me permettrait

    de comprendre dans quelle mesure la librairie ixemul est en cause et

    les conséquences pour le portage d’applications venant du monde

    Unix.

    Merci d’avance.

    Rmais96

    henes

    • Messages : 2616
    #43177

    Ton makefile a un problème car il crée un binaire ixemul en utilisant les includes libnix.

    Les includes ixemul sont dans gg:include/ et les includes libnix sont dans gg:includestd/

    Je te l’avais déjà signalé dans ce thread : https://www.amigaimpact.org/modules/newbb/viewtopic.php?topic_id=1023&forum=2#forumpost16904 ;-)

    On peut facilement éviter ce genre de problème en utilisant uniquement le frontend gcc qui choisi automatiquement les bons includes et libs suivant l’utilisation de -noixemul et -ixemul.

    Par ailleurs, il ne vaut mieux pas faire un seul appel système (exec, dos, intuition, etc) dans une appli ixemul car cela n’est pas du tout prévu.

    Par exemple, un simple ctrl-c au mauvais moment va mettre par terre l’OS entier (il suffit d’imaginer que le programme ixemul se trouve à exécuter du code d’exec qui a aquis une resource interne) et il existe beaucoup d’autres cas similaires.

    Rmais96

    • Messages : 95
    #43178

    Tiens, je ne savais pas que les includes étaient différents pour les

    deux librarires.

    Dans le répertoire gg:include je ne trouve rien d’autre qu’un sous

    répertoire « g++-3 » contenant les includes de la librairies standard

    C++. Aucune trace des includes de la libc.

    J’ai pourtant installé le SDK complet. Aurais-je oublié d’installé

    quelque chose ?

    Je vais essayer d’utiliser gcc au lieu de g++.

    Merci.

    Rmais96

    henes

    • Messages : 2616
    #43179

    Les includes ixemul sont dans ixemul-dev.tgz qui est dans mossdk_devenv.lha

    Tu n’as pas utilisé le script d’installation ? Il se charge de tout mettre en place correctement (sauf sed qu’il faut installer à la main).

    Rmais96

    • Messages : 95
    #43180

    Plus de problème avec les bons includes.

    Je ne comprends pas pourquoi l’installation du SDK a manqué cela.

    Peut-être que la première version du SDK avait un problème.

    Merci pour ton aide, je vais corriger mon makefile.

    A plus.

    Rmais96

5 sujets de 1 à 5 (sur un total de 5)

  • Vous devez être connecté pour répondre à ce sujet.

Forums AmigaOS, MorphOS et AROS Développement [Help] Problème d’alignement avec fstat d’ixemul

Amiga Impact