On Mon, Mar 5, 2012 at 4:56 PM, Georg-Johann Lay <a...@gjlay.de> wrote:
> Richard Guenther wrote:
>> On Mon, Mar 5, 2012 at 4:25 PM, Georg-Johann Lay <a...@gjlay.de> wrote:
>>> Richard Guenther wrote:
>>>> All commits to the 4.7 branch need explicit release manager approval. AVR
>>>> isn't primary/secondary so please do not change anything before is
>>>> released 4.7.0 for it.
>>> What is the exact procedure in that case?
>>> Wait until approve from release manager in that case?
>>> Who is the release manager, and should I CC for such changes?
>>> Or just hope the patch is not overseen.
>> The exact procedure is to do bugfixing during stage3/4, for release blockers
>> that pop up after a release candidate is created (like now), CC a release
>> manager (Jakub, me, Joseph) for patches that you like to get in even
>> though the branch is frozen. Usually only bugs that prevent basic
>> (like building a target) can be fixed at this point, for everything
>> else you have
>> to wait until after 4.7.0 is released and the branch opens again for
> I was not aware that the 4.7.0 branch is completely frozen for the next 3
> weeks; I thought the usual rules for backporting patches do apply...
No they don't. How would you expect that testing a release candidate would
work if we put in any not strictly necessary changes? That would make a
release candidate quite pointless.
> The patch changes only in libgcc/config/avr and gcc/config/avr
> The patch does not fix a blocker in the sense that without it avr cannot be
> built, but the changes are essential.
Surely not so essential as that they cannot be put in place to make the 4.7.1
> PR target/52461
> * config/avr/lib1funcs.S (__do_copy_data): Clear RAMPZ after usage
> if RAMPZ affects reading from RAM.
> (__tablejump_elpm__): Ditto.
> (.xload): Ditto.
> (__movmemx_hi): Ditto.
> (__do_global_ctors): Right condition for RAMPZ usage is "have ELPM".
> (__do_global_dtors): Ditto.
> (__xload_1, __xload_2, __xload_3, __xload_4): Ditto. And make weak.
> (__movmemx_hi): Ditto. And fix RAM-loop label.
> (__xload_1): Never read unintentionally from RAM.
> PR target/52461
> * gcc/config/avr/avr.c (expand_prologue): Depend save/restore of
> RAMPZ on HAVE_RAMPD, not HAVE_RAMPZ.
> (expand_epilogue): Ditto. And fix order of restoration to:
> RAMPZ, RAMPY, RAMPX, RAMPD.
> (avr_xload_libgcc_p): Always load __memx by lilbgcc call on
> big-RAM devices.
> (avr_out_lpm): Clear RAMPZ after usage if RAMPZ affects reading
> from RAM.
> (avr_out_xload): Never read unintentionally from RAM.
> * config/avr/avr.md (xload_8): Adjust insn length.