Eu apenas procurei na net pelos números de chamadas do sistema linux, e encontrei números diferentes se é uma versão linux de 32 bits ou 64 bits.
Por que o Linux mudou a ordem das chamadas do sistema? isso não tornaria a compatibilidade entre programas linux de 32 bits e 64 bits mais difícil de ser alcançada?
Mais informações:
Aqui estão os sites em que encontrei o sistema de números de chamadas: 32 bits linux , 64 bits do linux .
Também encontrei o sistema de números de chamadas no sistema linux, nesses dois arquivos: /usr/include/asm/unistd_32.h
e /usr/include/asm/unistd_64.h
.
Editar : eu escrevi um programa mundial hello de montagem de 32 bits:
Eucompileicomocomandonasm-felf32prog.asm&&ld-melf_i386prog.o
,elecompilaeexecutanormalmente.Entãoeucompileiomesmoprogramacomocomandonasm-felf64prog.asm&&ld-melf_x86_64prog.o
esperandoqueelefalhasse,maselefezomesmoqueoprimeiroprograma,eleescreveu"Hello World!" para a saída padrão.
Como é possível que o programa de 64 bits tenha usado as mesmas chamadas de sistema que o programa de 32 bits (embora a tabela de chamadas do sistema seja diferente para as duas arquiteturas).
Tags 64-bit 32-bit linux system-calls