porque a tabela de chamadas do sistema Linux 64 bits é diferente

1

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.oesperandoqueelefalhasse,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).

    
por Sidahmed 31.03.2016 / 18:02

0 respostas