Nie można połączyć pliku obiektu za pomocą ld - Mac OS X

/*********
exit.asm
*/

[SECTION .text]

global _start


_start:
xor eax, eax
xor ebx, ebx
mov al, 1
int 0x80

//****************************

Najpierw użyłem nasm -f elf exit.asm do wygenerowania pliku obiektowego.

następnie uruchomiłem następujące polecenie „ld” na moim Mac OS X 10.7, ma te wyjścia i ostrzeżenie, próbowałem go uruchomić na moim 32-bitowym komputerze z linuxem, wszystko poszło dobrze, czy mógłbyś wyjaśnić, dlaczego nie linker działa na moim Macu?

Dziękuję Ci!

Alfred says: ld -o exiter exit.o
ld: warning: -arch not specified
ld: warning: -macosx_version_min not specified, assuming 10.7
ld: warning: ignoring file exit.o, file was built for unsupported file format ( 0x7f 0x45      0x4c 0x46 0x 1 0x 1 0x 1 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 ) which is not the   architecture being linked (x86_64): exit.o
Undefined symbols for architecture x86_64:
  "start", referenced from:
    implicit entry/start for main executable
ld: symbol(s) not found for inferred architecture x86_64

po określeniu mojego łuku i wersji otrzymałem:

Alfred says: ld -arch x86_64 -macosx_version_min 10.7 -o exiter exit.o
ld: warning: ignoring file exit.o, file was built for unsupported file format ( 0x7f 0x45     0x4c 0x46 0x 1 0x 1 0x 1 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 0x 0 ) which is not the   architecture being linked (x86_64): exit.o
 Undefined symbols for architecture x86_64:
 "start", referenced from:
    implicit entry/start for main executable
 ld: symbol(s) not found for architecture x86_64

questionAnswers(4)

yourAnswerToTheQuestion