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.
>>>>
>>>> Thanks,
>>>> Richard.
>>> 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 
>> functionality
>> (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 
>> regression
>> fixes.
>>
>> Richard.
>
> 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
release then.

Richard.

> Johann
>
> libgcc/
>        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.
>
> gcc/
>        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.

Reply via email to