avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-libc-dev] [bug #35240] Incomplete Description of Calling Convention


From: Don Kinzer
Subject: [avr-libc-dev] [bug #35240] Incomplete Description of Calling Convention
Date: Wed, 04 Jan 2012 23:42:05 +0000
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.25) Gecko/20111212 Firefox/3.6.25

URL:
  <http://savannah.nongnu.org/bugs/?35240>

                 Summary: Incomplete Description of Calling Convention
                 Project: AVR C Runtime Library
            Submitted by: dkinzer
            Submitted on: Wed 04 Jan 2012 03:42:04 PM PST
                Category: Documentation
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Documentation
                  Status: None
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.6.7
           Fixed Release: None

    _______________________________________________________

Details:

The avr-libc documentation section "11.14 What registers are used by the C
compiler?" is incomplete in that it does not describe the case where a
function returns a large (>64 bit) data item.  As far as I can tell, in this
(perhaps unusual) case r25:24 contains a pointer to a buffer in which to
return the data and all parameters (if any) are shifted by two registers (i.e.
a first uint16_t parameter is in r23:22, etc.).  Large pointer support may
change the register use in this case.

This observation applies to the documentation accompanying avr-libc v1.6.7 and
v1.8.0.




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?35240>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]