Por que o x86-64 usa o IA-64 C ++ ABI?

3

De o psABI x86-64 :

9.1 C++

For the C++ ABI we will use the IA-64 C++ ABI and instantiate it appropriately. The current draft of that ABI is available at:

http://mentorembedded.github.io/cxx-abi/

Por que não projetar sua própria ABI?

    
por 陳 力 23.11.2018 / 13:47

1 resposta

5

Porque o "Itanium" C ++ ABI é projetado para ser genérico, ou pelo menos generalizável. Citando a introdução :

In general, this document is written as a generic specification, to be usable by C++ implementations on a variety of architectures. However, it does contain processor-specific material for the Itanium 64-bit ABI, identified as such. Where structured data layout is described, we generally assume Itanium psABI member sizes. An implementation for a 32-bit ABI would typically just change the sizes of members as appropriate (i.e. pointers and long ints would become 32 bits), but sometimes an order change would be required for compactness, and we note more substantive changes.

A frase “instanciar apropriadamente” refere-se às adaptações necessárias para ajustar as suposições de psABI do Itanium para uso com o ps86 do x86-64.

    
por 23.11.2018 / 15:27