bugAVR C Runtime Library - Bugs: bug #4101, setjmp/longjmp destroy changes in...

 
 

bug #4101: setjmp/longjmp destroy changes in global registers

Submitted by:  None
Submitted on:  Wed 25 Jun 2003 08:57:54 PM UTC  
 
Category: LibrarySeverity: 4 - Important
Priority: 9 - ImmediateItem Group: None
Status: Wont FixPercent Complete: 0%
Assigned to: Joerg Wunsch <joerg_wunsch>Originator Email: -unavailable-
Open/Closed: ClosedRelease: None
Fixed Release: None

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sun 16 Jan 2005 06:30:39 PM UTC, comment #4:

As there is currently no fix in sight that would not break
legitimate programs, I documented the problem.

Joerg Wunsch <joerg_wunsch>
Project AdministratorIn charge of this item.
Mon 10 Jan 2005 06:07:58 AM UTC, comment #3:

Final (I hope) version of modifyed setjmp (20050110).
Test set is expanded.

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

Anonymous
Sun 09 Jan 2005 07:58:43 AM UTC, comment #2:

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.

Anonymous
Fri 07 Jan 2005 07:08:23 PM UTC, comment #1:

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....

Eric Weddington <arcanum>
Project Administrator
Wed 25 Jun 2003 08:57:54 PM UTC, original submission:

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

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #2346:  setjmp-20050110.tar.gz added by None (9KiB - application/x-tgz - Corrected setjmp files and test suite. See README for ditails.)
file #2344:  setjmp-20050109.tar.gz added by None (8KiB - application/x-tgz)
file #2340:  20050108-setjmp.tar.gz added by None (5KiB - application/x-tgz - Test and corrected setjmp.S (preliminary). See details inside.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 9 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sun 16 Jan 2005 06:30:39 PM UTCjoerg_wunschStatusNone=>Wont Fix
  Open/ClosedOpen=>Closed
Wed 12 Jan 2005 09:19:49 PM UTCjoerg_wunschAssigned toNone=>joerg_wunsch
Mon 10 Jan 2005 09:48:43 PM UTCarcanumPriority7 - High=>9 - Immediate
Mon 10 Jan 2005 06:07:58 AM UTCNoneAttached File-=>Added setjmp-20050110.tar.gz, #2047
Sun 09 Jan 2005 07:58:43 AM UTCNoneAttached File-=>Added setjmp-20050109.tar.gz, #2045
Sat 08 Jan 2005 03:45:19 AM UTCNoneAttached File-=>Added 20050108-setjmp.tar.gz, #2041
Wed 22 Dec 2004 10:08:40 PM UTCarcanumSeverity3 - Normal=>4 - Important
  Priority5 - Normal=>7 - High

Back to the top


Powered by Savane 3.1-cleanup1