Assembly no NetBSD - Uma pequena observação

Tente compilar algum código assembly e se depare com o seguinte erro:

sh: Cannot execute ELF binary ./hello

O que acontece é que o object file precisa de algumas informações para que o NetBSD o reconheça como um binário do sistema. Essas informações estão presentes no arquivo /usr/src/lib/csu/common/sysident.S.

Há duas soluções. A primeira é copiar e colar o código assembly presente nesse arquivo no seu próprio código, ou o método mais simples, que é linkar o object file dele, já presente no sistema em /usr/lib/sysident.o.

$ ld -o hello /usr/lib/sysident.o hello.o

Outro

Estou estudando assembly. A medida que eu for aprendendo irei compartilhar no blog. Esse post só foi possível graças a ajuda que obtive na mailing-list netbsd-users: