www.digitalmars.com         C & C++   DMDScript  

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

reply d-bugmail puremagic.com writes:
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 digitalmars.com
        ReportedBy: manlio.perillo 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


-- 
Aug 20 2008
next sibling parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
<d-bugmail puremagic.com> wrote in message 
news:bug-2299-3 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 digitalmars.com
        ReportedBy: manlio.perillo 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.
Aug 20 2008
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=2299





------- Comment #1 from bugzilla digitalmars.com  2008-08-26 02:08 -------
The assembler part of the ABI document is for the 32 bit x86 architecture, it
does not address other architectures.


-- 
Aug 26 2008