Hi Bob!

On 2025-07-27T16:00:29-0500, Robert Dubner <rdub...@symas.com> wrote:
> I am throwing in the towel.
>
> I am chalking up the hours I have spent on this as a positive on the 
> educational side of the ledger.  I have learned things about 
> git-cherry-pick, git-rev-list, and git-log that I didn't know, and that's 
> good.
>
> I have reached the point where I am convinced that what I would like to do 
> is not just hard, but impractical.  I got to this point:
>
> git switch -C patched15 gcc/releases/gcc-15
> git cherry-pick -x  \
>     $(git rev-list basepoints/gcc-16..gcc/master \
>     --invert-grep --grep="Daily bump" \
>     -- libgcobol gcc/cobol gcc/testsuite/cobol.dg)
>
> That rev-list command produces a list of all the commits since The Beginning 
> Of GCC-16 that touch files in libgcobol/, gcc/cobol/ and 
> gcc/testsuite/cobol.dg, which is what I wanted.  But the result is numerous 
> conflicts.

Hmm, I'm not seeing that?

> I had to exclude the "Daily bump" commits because the ones that affect 
> gcc/cobol/ChangeLog or libgcobol/ChangeLog tend to modify many other 
> ChangeLogs as well, leading to conflicts.

Right, those need to be excluded.

> But even with that filter, numerous other conflicts arise.  Thirty-two of 
> them, as a matter of fact.  Exactly one of them is in a gcc/cobol cobol 
> file; the rest are in other source code trees.
>
> Many of those conflicts occurred because of wide-ranging commits that change 
> not just gcc/cobol files, but files in other source trees.  (I am looking at 
> you, David Malcolm; your changes to the diagnostics cut quite the swath 
> through the GCC source code.)

Well, that happens.  :-) But: mass-refactoring to improve the overall
code organization etc. certainly has a very high merit on its own, so
that's OK to cause some "collateral damage".

But then: those commits aren't applicable for GCC 15 backporting anyway,
so just 'git cherry-pick --skip' those.

I just executed (a variant of) what I had in my other email:

    $ rev_start=origin/releases/gcc-15 # Will be different next time.
    $ git log --reverse --stat -p --regexp-ignore-case --grep=cobol 
"$rev_start"..origin/trunk

I 'git cherry-pick --skip'ed the (few, just two?) commits that had alread
made it into releases/gcc-15 branch, and 'git cherry-pick --skip'ed the
last few diagnostics-related ones, and: everything else of those
GCC/Cobol commits 'git cherry-pick -x'ed without any conflicts.

I'm happy to put that branch into my usual testing, and/or publish it for
anyone to test, if you still see value in that.  (..., and unless you'd
like to reproduce that yourself.)  ;-)


Grüße
 Thomas


> So, although I think I now know how to set up this kind of mass backporting 
> for something isolated, the changes since GCC-16 was branched off from -15 
> are too extensive for me to treat COBOL in isolation.
>
> C'est la vie.
>
> Thank you so much for the help you offered.  Although I couldn't do what I 
> set out to do, your pointers led have led me not only to a better 
> understanding of GIT, but I also know why I can't do such a big update to 
> just COBOL.
>
> Best regards to all,
>
> Bob Dubner
>
>> -----Original Message-----
>> From: Robert Dubner <rdub...@symas.com>
>> Sent: Sunday, July 27, 2025 11:25
>> To: Richard Biener <rguent...@suse.de>
>> Cc: gcc@gcc.gnu.org; gcc-patc...@gcc.gnu.org; James K. Lowden
>> <jklow...@cobolworx.com>
>> Subject: RE: GCC 15.1.1 Status Report (2025-07-11)
>>
>> Thanks to everybody.  I actually did do the more specific searches over a
>> range starting at the gcc-15 starting point; in my frustration I didn't 
>> copy
>> the final actual command I used.  I thought I needed to start at the
>> original releases/gcc-15 point because that's where we branched away, and 
>> as
>> far as I know, no COBOL patches have been applied to GCC-15 since.
>>
>> I'll do what I can later, later or tomorrow; today is booked up with Real
>> Life.  I don't have high hopes; there were modifications to to 
>> configure.ac
>> and Make-lang.in, and those seem to generate conflicts that I don't have
>> much idea how to resolve.
>>
>> If I don't make headway quickly, then I am likely to throw in the towel
>> pretty fast.  <shrug>  It's not like GCC-15 being brought up to date is a
>> necessity.
>>
>> > -----Original Message-----
>> > From: Richard Biener <rguent...@suse.de>
>> > Sent: Sunday, July 27, 2025 06:56
>> > To: Robert Dubner <rdub...@symas.com>
>> > Cc: gcc@gcc.gnu.org; gcc-patc...@gcc.gnu.org; James K. Lowden
>> > <jklow...@cobolworx.com>
>> > Subject: RE: GCC 15.1.1 Status Report (2025-07-11)
>> >
>> > On Sat, 26 Jul 2025, Robert Dubner wrote:
>> >
>> > >
>> > >
>> > > > -----Original Message-----
>> > > > From: Richard Biener <rguent...@suse.de>
>> > > > Sent: Saturday, July 26, 2025 12:06
>> > > > To: Robert Dubner <rdub...@symas.com>
>> > > > Cc: gcc@gcc.gnu.org; gcc-patc...@gcc.gnu.org; James K. Lowden
>> > > > <jklow...@cobolworx.com>
>> > > > Subject: Re: GCC 15.1.1 Status Report (2025-07-11)
>> > > >
>> > > >
>> > > >
>> > > > > Am 26.07.2025 um 01:31 schrieb Robert Dubner <rdub...@symas.com>:
>> > > > >
>> > > > > Richard, this message of yours about changes for 15.2 RC has been
>> > > > > percolating in my head since I first saw it.
>> > > > >
>> > > > > So, today I gave it a shot.
>> > > > >
>> > > > > A significant amount of COBOL development has occurred in the four
>> > > > > months
>> > > > > since GCC-15 was released.
>> > > > >
>> > > > > I just built a patch that brought changes in COBOL from
>> > > > > releases/gcc-15
>> > > > > up
>> > > > > to the current level of master.  The gcc-mklog file is a mere 
>> > > > > 1,408
>> > > > > lines;
>> > > > > the .diff is 4,778 lines comprising 1,791,437 bytes.
>> > > > >
>> > > > > A bootstrap build of
>> > > > > "--enable-languages=all,cobol --disable-multilib"
>> > > > > ran
>> > > > > quietly to completion; "make check-cobol" subsequently behaved
>> > > > > properly.
>> > > > >
>> > > > > I see no reason not to bring 15.2RC up to the level of 16.  It's
>> > > > > hard
>> > > > > for
>> > > > > me to believe that anybody is actually counting on the COBOL
>> > > > > problems in
>> > > > > 15 not being fixed.
>> > > > >
>> > > > > I am not inclined to annotate those 4,778 lines with anything but
>> > > > > "Bring
>> > > > > 15.2 RC up to 16 master" followed by 4,447 instances of 
>> > > > > "Likewise.".
>> > > > >
>> > > > > Having said that, please recommend how this be done.
>> > > > >
>> > > > > I can publish a multitude of patch e-mails for the world to 
>> > > > > peruse.
>> > > > > I
>> > > > > can
>> > > > > put all those changes into a single commit on
>> > > > > g...@gitlab.cobolworx.com:COBOLworx/gcc-cobol.git, so that they
>> > > > > easily
>> > > > > can
>> > > > > be applied by somebody who isn't me.  Or, I can, once the changes
>> > > > > are
>> > > > > approved, apply the commit myself.
>> > > > >
>> > > > > How best to do something like this?  Should I bust the 1.7MB diff
>> > > > > into
>> > > > > twenty or so [PATCH] xx/20 messages of about 65K each, and send 
>> > > > > them
>> > > > > to
>> > > > > gcc-patches?
>> > > >
>> > > > I would have expected the backport to be a series of hit cherry-pick
>> > > > from
>> > > > trunk.  So if you can publish a repo with those picks on cobolworx
>> > > > that
>> > > > should
>> > > > be sufficient (use git cherry-pick -x so the original rev picked 
>> > > > will
>> > > > show
>> > > > up).  Any additional changes or diffs required should be posted to
>> > > > GCC-
>> > > > patches.
>> > >
>> > >
>> > > Follow-up:  After poking around on the internet for inspiration, I 
>> > > used
>> > >
>> > > git log
>> > > basepoints/gcc-15~1..HEAD --reverse --grep="^gcc/cobol" --
>> grep="^libgcobol"
>> > > --grep="cobol.dg"
>> > >
>> > > to create a list of commits to be cherry-picked.  That resulted in a
>> > > list of
>> > > 120 commits.  I was unable to cherry-pick them; there were multiple
>> > > merge
>> > > conflicts.  I tried using "cherry-pick --strategy=ours".  I then
>> > > compared
>> > > the gcc/cobol and libgcobol files with gcc-16.
>> > >
>> > > There are hundreds of residual difference; the goal is none.
>> > >
>> > > I haven't even talked with Jim or our firm about this; I took it on
>> > > myself.
>> > > I think back-porting where we are with trunk to GCC-15.2 is a good 
>> > > idea;
>> > > I
>> > > think they would agree.  UI hope you agree.
>> >
>> > Yes, I specifically thought of the larger refactorings that would
>> > otherwise make it much more difficult to do selective backports to
>> > the GCC 15 release series.
>> >
>> > > My automated method of taking a diff of the COBOL front end files
>> > > starting
>> > > from basepoints/gcc-15 and ending with the current trunk, and turning
>> > > that
>> > > into a single commit demonstrably works for x86_64-linux.
>> > >
>> > > I simply don't know how to create a list of cherry-pick commits from
>> > > trunk
>> > > that does the same thing.
>> > >
>> > > I wasted, and I mean that, about four hours today trying.
>> > >
>> > > What do you suggest I do?
>> >
>> > Please see the helpful comments from Andreas.  I think we _do_ want to
>> > do the backport with cherry-picks, not with a large patch generated
>> > by diffing two trees (if that were the only option I'd call it off).
>> > Such diff might be useful to see if we missed any cherry-picks, of 
>> > course.
>> >
>> > Richard.
>> >
>> >
>> > >
>> > >
>> > >
>> > > >
>> > > > Thanks,
>> > > > Richard
>> > > >
>> > > > >
>> > > > > Thanks,
>> > > > >
>> > > > > Bob D.
>> > > > >
>> > > > >> -----Original Message-----
>> > > > >> From: Gcc <gcc-bounces~rdubner=symas....@gcc.gnu.org> On Behalf 
>> > > > >> Of
>> > > > > Richard
>> > > > >> Biener via Gcc
>> > > > >> Sent: Friday, July 11, 2025 06:38
>> > > > >> To: gcc@gcc.gnu.org; gcc-patc...@gcc.gnu.org
>> > > > >> Subject: GCC 15.1.1 Status Report (2025-07-11)
>> > > > >>
>> > > > >>
>> > > > >> The releases/gcc-15 branch is open for regression and 
>> > > > >> documentation
>> > > > > fixes.
>> > > > >> This is now the time to prepare for the GCC 15.2 release - a
>> > > > >> release
>> > > > >> candidate is planned for Friday Aug 1st, three weeks from now, 
>> > > > >> with
>> > > > >> the GCC 15.2 release following a week after that.
>> > > > >>
>> > > > >> Please go over reported regressions for your target and
>> > > > >> maintainance
>> > > > >> area and see which ones can be fixed and/or backported from 
>> > > > >> trunk.
>> > > > >> For
>> > > > >> GCC 15.2 we are more permissive with what kind of fixes we allow,
>> > > > >> esp.
>> > > > >> it is still possible to resolve missed-optimization regressions.
>> > > > >>
>> > > > >>
>> > > > >> Quality Data
>> > > > >> ============
>> > > > >>
>> > > > >> Priority          #   Change from last report
>> > > > >> --------        ---   -----------------------
>> > > > >> P1                1    +   1
>> > > > >> P2              596    +  16
>> > > > >> P3              185    +  84
>> > > > >> P4              236    -   3
>> > > > >> P5               23
>> > > > >> --------        ---   -----------------------
>> > > > >> Total P1-P3     782    + 101
>> > > > >> Total           1041    +  98
>> > > > >>
>> > > > >>
>> > > > >> Previous Report
>> > > > >> ===============
>> > > > >>
>> > > > >> https://gcc.gnu.org/pipermail/gcc/2025-April/245972.html
>> > >
>> >
>> > --
>> > Richard Biener <rguent...@suse.de>
>> > SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 
>> > Nuernberg,
>> > Germany; GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman;
>> > HRB 36809 (AG Nuernberg)

Reply via email to