[Issue 2299] New: the ABI documentation for registry convention does not include IA-64 platform

Jarrett Billingsley kb3ctd2 at yahoo.com
Wed Aug 20 11:49:24 PDT 2008


<d-bugmail at puremagic.com> wrote in message 
news:bug-2299-3 at http.d.puremagic.com/issues/...
> http://d.puremagic.com/issues/show_bug.cgi?id=2299
>
>           Summary: the ABI documentation for registry convention does not
>                    include IA-64 platform
>           Product: D
>           Version: unspecified
>          Platform: PC
>        OS/Version: Linux
>            Status: NEW
>          Severity: normal
>          Priority: P2
>         Component: www.digitalmars.com
>        AssignedTo: bugzilla at digitalmars.com
>        ReportedBy: manlio.perillo at gmail.com
>
>
> The ABI documentation for registry convention says that:
>
> long and ulong are returned in EDX,EAX, where EDX gets the most 
> significant
> half.
>
> However this is only true for IA-32 architecture.
> For IA-64 architecture long and ulong are returned in RAX.
>
> NOTE: I have not checked if this is true, but tango.Atomic.atomicIncrement
> assume this is true

The ABI does not give any heed to 64-bit platforms.  Or non-x86 platforms. 
In that case, I'm not sure that the ABI is right or wrong.  The only 64-bit 
D compiler in existence right now is GDC, and it is technically 
nonconformant as it always uses the C calling convention. 




More information about the Digitalmars-d-bugs mailing list