Que pacote fornece asm / errno.h para x32 ABI?

2

Estou tentando compilar o Strace 4.19 no Kubuntu 14.04 de 64 bits, e a compilação falha com o seguinte erro:

/usr/include/linux/errno.h:1:23: fatal error: asm/errno.h: No such file or directory

Consegui reproduzir o problema para a compilação da fonte de teste C:

#include <errno.h>

Ele compila bem com as opções -m32 e -m64 GCC, mas falha com o erro mencionado acima para -mx32 :

$ gcc -c -x c -mx32 - <<< '#include <errno.h>'
In file included from /usr/include/bits/errno.h:24:0,
                 from /usr/include/errno.h:35,
                 from <stdin>:1:
/usr/include/linux/errno.h:1:23: fatal error: asm/errno.h: No such file or directory
compilation terminated.

Suponho que estou perdendo algum pacote que fornece asm/errno.h para x32 ABI. O que é esse pacote?

Outra questão que eu vi não resolve isso: eu tentei o que a resposta aceita sugeriu, e didn não mude nada. Além disso, nem é aplicável ao GCC puro sem qualquer build de autotools. E a outra resposta é apenas um hack sujo, que eu não sei como vai quebrar o strace construir. Além disso, essa outra pergunta não menciona x32, que é o núcleo desta questão.

    
por Ruslan 25.09.2017 / 17:17

1 resposta

1

Para resolver esse problema, o suporte para a ABI x32 no gcc deve estar ativado.

O pacote gcc-multilib fornecerá isso por meio de um link simbólico / usr / include / linux / asm. Para referência, isso foi visto em um bug debian em que as informações acima foram fornecidas. link

    
por doug 27.09.2017 / 17:12