Компоновщик Mac OS X не может связывать объекты ELF. Работает только с исполняемым форматом Mach-O. Если вы не хотите понять, как переводить объектные файлы, вам, вероятно, будет лучше писать код, который работает с ассемблером Mac OS X.
Редактировать: Как @Fry упоминает в комментарии ниже, вы можете nasm
выставлять объекты Mach-O. В этом случае проблема проста - снимите _
с _start
в обоих местах исходного файла. Результат ссылки отлично.