[Top][All Lists]

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

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

From: Joerg Wunsch
Subject: Re: [avr-libc-dev] [bugs #4101] setjmp/longjmp destroy changes in global registers
Date: Fri, 14 Jan 2005 07:20:00 +0100
User-agent: Mutt/

As Dmitry K. wrote:

> Also, you can try old setjmp (from your's library). To do it,
> clear value in definition `setjmp_S=setjmp.S'.
> In this case test must stop on above section -- "Avoiding of
> global regs (bug #4101)"

Yes, it does (which is basically expected then, obviously).  If I
comment out the global reg var test, it passes everything else though.

> > I use avr-gcc 3.3 branch only.
> > I try 3.4.1: generated code differ !!!

That probably means we should also make sure it will work on the
pre-4.0 GCC version.

As it is now, I'm rather inclined to document that setjmp cannot work
in environments with global register variables (which are a GCC
extension anyway) than touching anything that makes it dependent of
the compiler version.

There have been rumours though (by Ted Roth) that GCC 4.0 might break
the ABI which would force us to ship an avr-libc 2.x version for it.
In that case, we could of course make changes that will only be
applicable for GCC-4 generated code.

p.s.: Thank you very much for the test suite, good work!  It took me a
while to understand what you're trying to do at first, but I much
appreciate the wide range of tests it is running.

cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)

reply via email to

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