[Top][All Lists]

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

Re: [avr-gcc-list] mcall-prologues completely broken for >128k

From: Sean D'Epagnier
Subject: Re: [avr-gcc-list] mcall-prologues completely broken for >128k
Date: Sun, 10 May 2009 00:26:27 -0600


Here are some patches.   Please take a look and tell me if what I did
with setjmp makes any sense.  I don't really use longjmp so it's not
fully tested, and it is only to handle a case which is very difficult
to create.

I have tested the gcc patch and my program is working very well now.

There is still a major issue of what to do in bootloaders.  It appears
that the trampolines do not get generated for bootloaders.. and how
can they?  For bootloaders the compiler should use eijmp and eicall
and set EIND to the bootloader segment at startup.  But what if
longjmp is used and what if application code is called?  I'm not sure
what the best solution is here, but currently I'm just glad my
bootloader doesn't need indirect jumps.


Attachment: avr-gcc-eijmp-eicall.patch
Description: Text Data

Attachment: avr-libc-extended-setjmp.patch
Description: Text Data

reply via email to

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