Compilation du code 32bits sur une Dist 64

Bonjour

J’ai un code assemleur le plus simple sur la planète :

.text .globl _start _start: movl $1,%eax movl $0,%ebx int $0x80

je veux avoir une executable ELF-32
premièrement j’ai fait

as a.s -o a.o --32

à fin de créer un objet 32 bits, en suite j’ai utilise ld pour crée une l’exécutable avec cette commande

ld a.o -o a.out -m elf_i386

et ça marche :041

user@debian:~/asm$ readelf -a a.out ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x8048054 Start of program headers: 52 (bytes into file) Start of section headers: 132 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 1 Size of section headers: 40 (bytes) Number of section headers: 5 Section header string table index: 2
pour le “as”, j’ai utilisé “man as”

et pour “ld”, “ld --help”, j’ai trouvé :

Je veux comprendre le différence entre emulations et targets

merci, d’avance