SIGBUS
Publié : mar. juin 28, 2011 10:27 am
Bonjour à tous,
C'est la première fois que je poste ici. Je développe depuis de longues années un outil qui est disponible ici http://www.rpl2.fr et certains utilisateurs m'ont demandé d'ajouter un sous-système CAS. Je me suis penché sur giac et cela fonctionne. Enfin, cela fonctionne lorsque c'est compilé sur une architecture qui ne demande pas d'alignement mémoire. Sur sparc, ça se bauge lamentablement avec un SIGBUS à la ligne 1045 de src/gen.cc lors de l'initialisation de la bibliothèque (version 0.9.1 stable).
Effectivement, on essaie de comparer un char qui n'a aucune raison d'être aligné sur le second argument qui est un enum (donc un entier 32 bits sur l'architecture qui m'intéresse et qui lui est aligné). J'ai donc corrigé le type déclaré dans la classe gen par un enum. Rien n'y fait, l'erreur est toujours la même.
L'opérateur > ou != ne me semble pas surchargé. J'avoue ne pas savoir où chercher.
Cordialement,
JKB
C'est la première fois que je poste ici. Je développe depuis de longues années un outil qui est disponible ici http://www.rpl2.fr et certains utilisateurs m'ont demandé d'ajouter un sous-système CAS. Je me suis penché sur giac et cela fonctionne. Enfin, cela fonctionne lorsque c'est compilé sur une architecture qui ne demande pas d'alignement mémoire. Sur sparc, ça se bauge lamentablement avec un SIGBUS à la ligne 1045 de src/gen.cc lors de l'initialisation de la bibliothèque (version 0.9.1 stable).
Effectivement, on essaie de comparer un char qui n'a aucune raison d'être aligné sur le second argument qui est un enum (donc un entier 32 bits sur l'architecture qui m'intéresse et qui lui est aligné). J'ai donc corrigé le type déclaré dans la classe gen par un enum. Rien n'y fait, l'erreur est toujours la même.
L'opérateur > ou != ne me semble pas surchargé. J'avoue ne pas savoir où chercher.
Cordialement,
JKB