Assembleur sur architecture x86-64 [résolu]

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

Assembleur sur architecture x86-64 [résolu]

Message  Gustavo le Mar 18 Mar 2008, 21:41

Bonjour,

Voulant faire de l'assembleur sous linux avec le compilateur nasm j'ai rencontré un problème qui vient, apparement, du fait que je me trouve sur une distribution 64bits (fedora 8 x86-64 pour être exact).

Le problème apprait lors de l'édition de lien. Voici les commandes ainsi que le message obtenu:

Code:
$ nasm MonProg.asm -o MonProg.o -f elf
$ ld MonProg.o -o MonProg -e main
ld: i386 architecture of input file `MonProg.o' is incompatible with i386:x86-64 output

A vrai dire ce message me parait tout à fait normal, par contre je ne vois pas quoi faire pour pouvoir continuer joyeusement assembleur sous linux 64bits.

Merci

edit: J'ai oublié de préciser que j'aimerais bien (si possible) rester avec les même tailles de registre qu'en 386 (32bits donc) histoire d'être plus facilement en phase avec le cours de micro Wink (bien que les deux modes m'interressent et peuvent interresser d'autres)


Dernière édition par Gustavo le Mer 19 Mar 2008, 06:48, édité 1 fois (Raison : problème résolu)

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: Assembleur sur architecture x86-64 [résolu]

Message  pbt le Mar 18 Mar 2008, 22:31

Essaie l'option -m elf_i386 pour ton éditeur de lien. À première vue, ton éditeur de lien est capable d'émuler une architecture différente et ça dépend de ta version de ld, chez moi,

Code:
$ ld --version

...
Émulations supportées:
  elf_i386
  i386linux
  elf_x86_64
...

Je n'ai pas tester, donc c'est sympa si tu vien nous dire comment ça se passe.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: Assembleur sur architecture x86-64 [résolu]

Message  Gustavo le Mar 18 Mar 2008, 22:57

Merci,

apparement j'ai les mêmes possibilitées d'émulation (bien que j'ai du faire "ld --help" et non l"d --version" pour avoir la liste)

l'option -m elf_i386 fonctionne très bien, je peux maintenant executer le programme Smile

Pour la compilation elle est effectuer par défaut en mode i386 par contre :

Code:
$ nasm -hf

valid output formats for -f are (`*' denotes default):
  * bin      flat-form binary files (e.g. DOS .COM, .SYS)
    aout      Linux a.out object files
    aoutb    NetBSD/FreeBSD a.out object files
    coff      COFF (i386) object files (e.g. DJGPP for DOS)
    elf      ELF32 (i386) object files (e.g. Linux)
    as86      Linux as86 (bin86 version 0.3) object files
    obj      MS-DOS 16-bit/32-bit OMF object files
    win32    Microsoft Win32 (i386) object files
    rdf      Relocatable Dynamic Object File Format v2.0
    ieee      IEEE-695 (LADsoft variant) object file format

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: Assembleur sur architecture x86-64 [résolu]

Message  Contenu sponsorisé Aujourd'hui à 20:42


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