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

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

[avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global reg


From: Joerg Wunsch
Subject: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers
Date: Wed, 12 Jan 2005 21:19:50 +0000
User-agent: Mozilla/5.0 Galeon/1.2.13 (X11; FreeBSD i386; U;) Gecko/0

This is an automated notification sent by Savannah.
It relates to:
                bugs #4101, project AVR C Runtime Library

==============================================================================
 LATEST MODIFICATIONS of bugs #4101:
==============================================================================

               Posted by: Joerg Wunsch <joerg_wunsch>
               Posted on: 2005-01-12 21:19 (Europe/Berlin)
    _______________________________________________________

             Assigned to:                    None -> joerg_wunsch           


==============================================================================
 OVERVIEW of bugs #4101:
==============================================================================

URL:
  <http://savannah.nongnu.org/bugs/?func=detailitem&item_id=4101>

                 Summary: setjmp/longjmp destroy changes in global registers
                 Project: AVR C Runtime Library
            Submitted by: None
            Submitted on: Wed 06/25/03 at 20:57
                Category: Library
                Severity: 7 - Major
                Priority: 9 - Immediate
              Item Group: None
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: joerg_wunsch
        Originator Email: address@hidden
             Open/Closed: Open

    _______________________________________________________


   A prologue/epilogue of function, in which there is a call setjmp(),
contains preservation/restoration of all call-saved registers. Exception make
function main() and global register variables.
   Nevertheless, setjmp/longjmp too keeps/restores registers r2-r17.
Restoration of local variables after operation longjmp(), certainly is 
pleasant, but it is no necessary. But loss of changes in global registers,
in my opinion, is inadmissible.

   avr-gcc (GCC) 3.3.1 20030519 (prerelease)
   avr-libc-20030422cvs


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Mon 01/10/05 at 06:07         By: Anonymous
Final (I hope) version of modifyed setjmp (20050110).
Test set is expanded.

Shortly: saving/restoring registers r2-r17 is excluded from setjmp.


-------------------------------------------------------
Date: Sun 01/09/05 at 07:58         By: Anonymous
Tarball with patched setjmp (S and h) and a set of tests. To test, untar last
attached file and run setjmp-tst.sh . Simulavr is needed.

-------------------------------------------------------
Date: Fri 01/07/05 at 19:08         By: Eric Weddington <arcanum>
Is there a simple test case for this? Or, better still, is there a patch that
fixes the problem?



We'd really like to get this one fixed....







    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Mon 01/10/05 at 06:07  Name: setjmp-20050110.tar.gz  Size: 8.64KB   By:
None
Corrected setjmp files and test suite. See README for ditails.
<http://savannah.nongnu.org/bugs/download.php?item_id=4101&item_file_id=2047>
-------------------------------------------------------
Date: Sun 01/09/05 at 07:58  Name: setjmp-20050109.tar.gz  Size: 8KB   By:
None

<http://savannah.nongnu.org/bugs/download.php?item_id=4101&item_file_id=2045>
-------------------------------------------------------
Date: Sat 01/08/05 at 03:45  Name: 20050108-setjmp.tar.gz  Size: 5.49KB   By:
None
Test and corrected setjmp.S (preliminary). See details inside.
<http://savannah.nongnu.org/bugs/download.php?item_id=4101&item_file_id=2041>

==============================================================================

This item URL is:
  <http://savannah.nongnu.org/bugs/?func=detailitem&item_id=4101>

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





reply via email to

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