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

Autres éditeurs Discussion :

Format elf au lieu de flat ???


Sujet :

Autres éditeurs

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut Format elf au lieu de flat ???
    Bonjour,

    J'ai récupérer un client-serveur en C que j'ai compilé puis tester en créant 2 éxécutables, pour le clienet et le serveur

    Ce client-serveur fonctionne très bien entre 2 machines linux debian.

    J'essaye maintenant d'installer le client sur un linux embarqué avec busybox. J'ai donc refait un noyau puis remis à jour mon module embarqué.

    Le probème arrive à ce niveau lorsque j'essaye de lancer le client sur le module embarqué l'erreur suivante apparaît :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BINFMT_FLAT: bad magic/rev (0x1010100, need 0x4)
    Apparement le problème proviendrait du format de mon éxécutable. Il ne serait pas utilisable sur les système embarqués avec busybox. Le problème serait que l'éxécutable, enfin le binaire, serait au format "elf" et non au format "flat".

    Voilà développant sous kdevelopp je cherche comment je pourrai faire une obtenir un éxécutable au format "flat" et non "elf".

    Si quelqu'un sait comment faire ca ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Par défaut
    Bonjour,

    Je ne connaissais pas le format flat... toutefois, voici quelque liens que j'ai pu trouver :

    http://www.ucdot.org/article.pl?sid=02/09/17/0044221&mode=thread

    http://saintaardvarkthecarpeted.com/blog/?p=164

    la réponse se trouve donc dans l'utilisation du programme "elf2flt", pour le reste je ne saurais en dire plus.

    En espérant que cela puisse t'aider

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Ok merci bien j'ai trouvé ces liens également après avoir posté.

    De toute facon j'avais pas fait attention mais j'ai des outils livré avec mon module permettantde faire le -elf2flt.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Merde ca ne marche pas.

    J'ai bien des outils qui sont installer dans /usr/local/

    Entre autre j'ai un fichier gcc et un fichier elf2flt.

    Je peut alors faire un gcc -elf2flt client.c et ca me créé un a.out.gdb
    commande qui ne marche pas avec le gcc de base.

    Ce a.out.gdb ne fonctionne pas sous ma debian (jusque la normal puisque je crois l'avoir compliler au format flat) mais quand je l'install sur mon linux embarqué (busybox) microprocesseur ARM 32bits ca ne marche pas non plus.
    Toujours la même erreur. ggrrrrr

    Sinon j'ai également essayé le gcc -wl,-elf2flt client.c comme trouvé sur les liens internet mais la commande na marche pas.

    Une idée ?

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: Format elf au lieu de flat ???
    [délestage]

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Ok merci d'avaoir déplacé et désolé.

    Je ferais plus attention la prochaine fois.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Bon alors apparement c'est au niveau d e l'éditeur de lien.
    Donc que faut t'il que je change au niveau de mon editeur de lien et comment ?

    Merci d'avance !

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    j'ai oublié de préciser mais j'essaye de compiler en flat pour un processeur ARM7.

    Personne n'a une idéee, comment utilisé gcc pour atteindre ce que je veux ?

  9. #9
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Un doute comme ca, tu n'essaies pas d'installer un executable compile pour x86 sur un ARM?

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Un doute comme ca, tu n'essaies pas d'installer un executable compile pour x86 sur un ARM?
    Bein justement c'est cà le pb. Je sais que ne peut pas faire çà.
    Logique vous aller me dire.

    Je cherche donc comment compliler mon éxécutable sous x86 pour qu'il tourne sur ARM.

  11. #11
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Tu installes un compilateur croise. Soit tu te trouves ce qu'il faut, soit tu compiles toi-meme (il faut non seulement le compilateur mais l'assembleur, les libs, ...) mais si tu utilises une distrib d'embarque, ils devraient fournir des infos la dessus.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut
    Alors pour la 1ère solution : compilateur croise

    J'ai déjà cherché et j'ai du mal a trouver çà.

    Pour ce qui est de la distrib embarque, ils fournisse bien des infos et des outils. Mais c'est tellement bien fait que je ne comprend rien, ni comment utiliser les outils. Ils fournissent leur propre gcc mais ca ne change rien au pb. Je peut également faire un gcc -elf2flt, ca change apparement bien le format de mon éxécutable puisque je ne peu plus dans ce cas l'utiliser sous ma debian, mais je ne peut tjs pas non plus l'utiliser sur mon système embarqué (j'ai tjs la même erreur).

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Par défaut


    C'est bon ca marche !

    En fait j'ai réussi en utilisant la toolchain que le fournisseur de mon module embarqué m'avait fourni.

    Je l'utilisais mal au début, en fait, il faut bien faire un gcc -elf2flt. Ca créé alors bien un a.out.gdb mais aussi a.out normal. Il faut envoyer les 2 dans le module pour que ca fonctionne, or moi ayant déjà un autre a.out dans le répertoire de compilation, je n'avait pas vu qu'il faisait les 2. Je croyait donc que c'était l'ancien fichier et n'avait pas vu que le gcc croisé l'écraser.
    Moralité faut regardé les dates des fichiers.


    Merci de votre aide

Discussions similaires

  1. Edition AS/400 en format A3 au lieu de A4
    Par Madoka dans le forum AS/400
    Réponses: 5
    Dernier message: 30/09/2013, 23h33
  2. Réponses: 7
    Dernier message: 30/05/2008, 03h42
  3. Comment changer le fichier log en Format ELF
    Par dragon_menel dans le forum Apache
    Réponses: 2
    Dernier message: 30/01/2008, 20h46
  4. Exécution de processus (format elf, a.out)
    Par b4u dans le forum Administration système
    Réponses: 2
    Dernier message: 19/03/2006, 17h59
  5. Le format elf
    Par Bibouda dans le forum Linux
    Réponses: 2
    Dernier message: 07/12/2005, 09h06

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