IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Accéder au registre "eip" sous une architecture MIPS.


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 13
    Par défaut Accéder au registre "eip" sous une architecture MIPS.
    Bonjour tout le monde,
    Je travaille en ce moment sur une plateforme mobile utilisant une architecture MIPS et se basant sur un noyau Linux 2.6.24.
    Je voudrais ainsi utiliser la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ptrace (PTRACE_GETREGS, ...)
    afin de pouvoir avoir la valeur des différents registres comme le permet cet appel système...
    Le problème est que je ne suis pas sous une architecture x86, mais MIPS.
    J'ai trouvé sur quelques sites que le système utilisait 32 registres et dont le 15eme serait l'équivalent du registre eip en x86, mais que ce n'était qu'une norme et que rien n'était moins sur... :S Dans mon cas, cela ne marche pas, et l'affichage de leur localisation est la plupart du temps des adresses comme 0x00000000 ou 0xFFFFFFFF.
    J'aimerais donc savoir si vous aviez des pointeurs et/ou autres conseils à me donner...
    J'espère avoir été assez clair dans mes explications. Soyez indulgents sinon : )
    Merci d'avance.

  2. #2
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 13
    Par défaut
    Alors, j'ai finalement réussi à accéder à ce que je voulais, mais l'architecture MIPS ne facilite pas vraiment les choses de ce point de vue. En effet, de ce que j'ai pu voir et comprendre, la fonction ptrace(GETREGS, ...) va remplir un tableau défini dans le fichier "user.h" où il y aura les différents registres. Le problème, c'est qu'il n'y a pas moyen de savoir qui est quoi, contrairement à la belle structure fournie sous x86.
    Pour trouver le mien, j'ai donc affiché à l'écran l'ensemble de ce tableau, et ai essayé de faire des correspondances étant donné que je ne dispose pas de debugger. Finalement, j'ai trouvé que c'était pour moi la case 68 du tableau de registres...
    Voila, si ca peut servir à quelqu'un, un jour...

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo