[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