[TD4] ld : unrecognised emulation mode.....

Voir le sujet précédent Voir le sujet suivant Aller en bas

[TD4] ld : unrecognised emulation mode.....

Message  Benjy le Dim 04 Mai 2008, 12:34

Voilà le soucis. quand je fais

ld palindrome.o -o palindrome -e -main

il me dit

ld : unrecognised emulation mode : ain
supported emulations: elf_i386 i386linux elf x86_64

Benjy

Nombre de messages : 382
Prénom : Benjamin
Statut : étudiant
Localisation : Ath - Hainaut
Date d'inscription : 06/10/2007

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Wilbur le Dim 04 Mai 2008, 12:37

Benjy a écrit:Voilà le soucis. quand je fais

ld palindrome.o -o palindrome -e -main

il me dit

ld : unrecognised emulation mode : ain
supported emulations: elf_i386 i386linux elf x86_64

essaie:

Code:
ld -m elf_i386 palindrome.o -o palindrome -e main

edit: tu fais -e -main... faute de frappe? Razz

Wilbur

Nombre de messages : 46
Age : 27
Prénom : Romain
Statut : Etudiant 2ème Réseaux
Date d'inscription : 20/02/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Benjy le Dim 04 Mai 2008, 12:39

a ben ouai c'est pour ça!! quel boulet... merci! lol si ça fonctionne tjrs pas j'essayerai ton truc Wink

EDIT : j'ai autre chose maintenant...

ld: palindrome.o: file format not recognized; treating as linker script
ld: palindrome.o: 1: syntax error (ça ça devrais aller ^^)

en ligne 1 c'est : global main Neutral Neutral

Benjy

Nombre de messages : 382
Prénom : Benjamin
Statut : étudiant
Localisation : Ath - Hainaut
Date d'inscription : 06/10/2007

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Wilbur le Dim 04 Mai 2008, 13:15

Et tu as bien compilé avec le -f elf ?

Wilbur

Nombre de messages : 46
Age : 27
Prénom : Romain
Statut : Etudiant 2ème Réseaux
Date d'inscription : 20/02/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Benjy le Dim 04 Mai 2008, 13:17

non pas encore essayer, vu que ca donnait une autre erreur... jvais essayer

a oui non c'est ça qui allait pas apparement... lol merci

Benjy

Nombre de messages : 382
Prénom : Benjamin
Statut : étudiant
Localisation : Ath - Hainaut
Date d'inscription : 06/10/2007

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Wilbur le Dim 04 Mai 2008, 13:22

Pas de problème Cool

Wilbur

Nombre de messages : 46
Age : 27
Prénom : Romain
Statut : Etudiant 2ème Réseaux
Date d'inscription : 20/02/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Benjy le Dim 04 Mai 2008, 14:34

erreur de segmentation!!

qui a une corde?? Sad


Benjy

Nombre de messages : 382
Prénom : Benjamin
Statut : étudiant
Localisation : Ath - Hainaut
Date d'inscription : 06/10/2007

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Wilbur le Dim 04 Mai 2008, 14:35

Ma préférée celle là... silent

Wilbur

Nombre de messages : 46
Age : 27
Prénom : Romain
Statut : Etudiant 2ème Réseaux
Date d'inscription : 20/02/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Gustavo le Dim 04 Mai 2008, 14:49

Moauis, ça doir pas être un problème de mode d'émulation ^^

Sinon, plus sérieusement, regarde du coté de ta pile, si tu pointes au bonne endroit, si tu ne te trompe pas entre la valeur ou l'adresse (vérifie te [] Wink ) ou encore si tu n'a pas un problème de taille par exemple un "mov eax, [ebp+2] alors qu'a ebp+2 tu n'as qu'un word Smile )

Gustavo

Nombre de messages : 260
Age : 29
Prénom : Renaud
Statut : étudiant 4SEC
Date d'inscription : 10/01/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  DeS le Dim 04 Mai 2008, 14:49

Benjy a écrit:erreur de segmentation!!

qui a une corde?? Sad


fait pas ca on a encore besoin de toi!!sunny

les segmentation fault tu sais bien que c'est les pires il faut chercher et avoir beaucoup de patience!!

DeS

Nombre de messages : 324
Age : 27
Prénom : Denis
Statut : etd 2eme gestion
Localisation : Rebecq(village paumé où brouttent les vaches)
Date d'inscription : 15/10/2007

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  nvs le Dim 04 Mai 2008, 15:07

Wilbur a écrit:Ma préférée celle là... silent
n'ayons pas peur de généraliser : notre ##!!!$$]@@|&&!!! préférée Razz









_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  DeS le Dim 04 Mai 2008, 15:14

si meme un professeur d'assembleur le dit!!
Cool

DeS

Nombre de messages : 324
Age : 27
Prénom : Denis
Statut : etd 2eme gestion
Localisation : Rebecq(village paumé où brouttent les vaches)
Date d'inscription : 15/10/2007

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Wilbur le Dim 04 Mai 2008, 15:56

J'ai aussi un petit soucis à l'édition de lien. Je dois utiliser gcc, que je n'ai jamais utilisé auparavant, car je fais appel à 'malloc' et 'free'.

J'essaie de réaliser cette édition de lien comme suit:

Code:
[wilbur@localhost td4]$ gcc -m elf_i386 palindrome.o entierBinToStr.o afficher.o -o palindrome -nostdlib -lc

et le résultat:

Code:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libc.a when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/../lib64/libc.a when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib64/libc.a when searching for -lc


De plus, j'utilise comme point d'entrée _start, et je ne le spécifie pas dans ma ligne de commande. Or gcc, par défaut, cherche main.
Lorsque je change mon _start par main, là il rale :

Code:
/usr/bin/ld: warning: cannot find entry symbol _start; not setting start address

Est-ce ma ligne de commande qui est incorrecte? Ou alors, tout ce dont gcc a besoin n'est pas présent sur ma machine?




EDIT: problème résolu, merci à Gustavo I love you


Dernière édition par Wilbur le Dim 04 Mai 2008, 17:01, édité 1 fois

Wilbur

Nombre de messages : 46
Age : 27
Prénom : Romain
Statut : Etudiant 2ème Réseaux
Date d'inscription : 20/02/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Benjy le Dim 04 Mai 2008, 16:16

ok pour ma part erreur pitoyable...

j'av fais
mov ebx,1
mov eax,0
int 80h

alors que ça doit être l'inverse...

Benjy

Nombre de messages : 382
Prénom : Benjamin
Statut : étudiant
Localisation : Ath - Hainaut
Date d'inscription : 06/10/2007

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Wilbur le Dim 04 Mai 2008, 18:04

Mon problème d'édition de lien résolu, je voudrais savoir comment est gérée la pile avec gcc... car tout est un peu confus pour moi, et je ne suis pas le seul...

Quelle est la différence avec ld?
Que met gcc en plus sur la pile, et où exactement?
Comment faire pour atteindre argv[x]?

Wilbur

Nombre de messages : 46
Age : 27
Prénom : Romain
Statut : Etudiant 2ème Réseaux
Date d'inscription : 20/02/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Gustavo le Dim 04 Mai 2008, 18:33

Ouais bon, apparement gcc utilise un méthode d'adressage différente du coup pour afficher le nom de programme par exemple, il ne faut pas faire un
Code:

push dword[ebp+12]

mais

Code:
mov eax,[ebp+12]

push dword[eax]

call afficher


ou bien autrement, mais le niveau d'adresse n'est pas le même... un peu abusé je crois -_-'


Dernière édition par Gustavo le Dim 04 Mai 2008, 18:34, édité 1 fois

Gustavo

Nombre de messages : 260
Age : 29
Prénom : Renaud
Statut : étudiant 4SEC
Date d'inscription : 10/01/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Wilbur le Dim 04 Mai 2008, 18:34

Et apparement, pour atteindre les autres arguments :

Code:
        mov eax,[ebp+12]
        add eax,4
        push dword[eax]
        call afficher

Wilbur

Nombre de messages : 46
Age : 27
Prénom : Romain
Statut : Etudiant 2ème Réseaux
Date d'inscription : 20/02/2008

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  nvs le Dim 04 Mai 2008, 18:55

la différence apparaît clairement sur les deux figures du td4 Smile









_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [TD4] ld : unrecognised emulation mode.....

Message  Contenu sponsorisé Aujourd'hui à 07:14


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum