2011/10/14 Georg-Johann Lay <a...@gjlay.de>: > Denis Chertykov schrieb: >>> 2011/10/14 Jan Waclawek: >>>> Confused. EIND could be set once at program start (e.g. to 1) and then >>>> left so forever but avr-gcc requires EIND = 0? >>> >>> No. You are mixing two independent answers. >>> >>> I was just trying to hint a possible reason why the EI stuff was used at >>> all, a possible idea which might have been abandoned later. > > Ah, ok. My original question was about how to improve the current situation so > that it is easy to document, to understand and to use rather than elaborating > the supposed history of avr-gcc ;-) > > Not familiar with bolide devices and their applications, I wonder if users > might completely rely on EIND = 1 and EIxxx throughout an application like > boot > loader that must not have jump pads in the lower segment. > > But code in libgcc already does PUSH zero_reg prior to RET to do indirect jump > so that EIND does not work that way, anyway, in switch/case for example. > >>>> So the conclusion is to do nothing about it and let things as they are >>>> and rely on EIND = 0 and if EIND = 1 the user must not blame the >>>> compiler? >>> In my humble unqualified and unimportant opinion, it does not really >>> matter. >>> >>> As it is now, the EI stuff relies on EIND being permanently 0, thus can be >>> replaced by plain IJMP/ICALL. But since that happens, it does not matter >>> what is the value of EIND anymore. >> >> I'm agree. >> >> Denis. > > This means that a patch to remove EI* from avr-gcc is fine? >
I think so, but I don't use avr-gcc. Do you know any real example of a program more than 128k ? Denis. _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org https://lists.nongnu.org/mailman/listinfo/avr-gcc-list