public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Help with bisecting a test suite regression in GCC
@ 2022-03-26 22:41 John Scott
  2022-03-27  4:53 ` Jeff Law
  2022-03-27  7:41 ` Jonathan Wakely
  0 siblings, 2 replies; 3+ messages in thread
From: John Scott @ 2022-03-26 22:41 UTC (permalink / raw)
  To: gcc-help

[-- Attachment #1: Type: text/plain, Size: 752 bytes --]

Hi,

While working on upgrading the gcc-sh-elf Debian package from gcc 11 to
gcc 12, I think I've found a regression. I'm able to reproduce it with
an upstream bare-metal build.

I've had a hard time figuring out how to bisect it. A naive run with
git bisect start
git bisect new .
git bisect old releases/gcc-11.2.0

fails with
The merge base 250f234988b6231669a720c52101d3686d645072 is new.
The property has changed between 250f234988b6231669a720c52101d3686d645072 and [7ca388565af176bd4efd4f8db1e5e9e11e98ef45].
error: bisect run failed: 'git bisect--helper --bisect-state (null)' exited with error code -3

I'm not enough of a Git or GCC wizard to get further. Does anyone have
any advice so I can make an informative bug report?

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Help with bisecting a test suite regression in GCC
  2022-03-26 22:41 Help with bisecting a test suite regression in GCC John Scott
@ 2022-03-27  4:53 ` Jeff Law
  2022-03-27  7:41 ` Jonathan Wakely
  1 sibling, 0 replies; 3+ messages in thread
From: Jeff Law @ 2022-03-27  4:53 UTC (permalink / raw)
  To: gcc-help



On 3/26/2022 4:41 PM, John Scott via Gcc-help wrote:
> Hi,
>
> While working on upgrading the gcc-sh-elf Debian package from gcc 11 to
> gcc 12, I think I've found a regression. I'm able to reproduce it with
> an upstream bare-metal build.
>
> I've had a hard time figuring out how to bisect it. A naive run with
> git bisect start
> git bisect new .
> git bisect old releases/gcc-11.2.0
>
> fails with
> The merge base 250f234988b6231669a720c52101d3686d645072 is new.
> The property has changed between 250f234988b6231669a720c52101d3686d645072 and [7ca388565af176bd4efd4f8db1e5e9e11e98ef45].
> error: bisect run failed: 'git bisect--helper --bisect-state (null)' exited with error code -3
>
> I'm not enough of a Git or GCC wizard to get further. Does anyone have
> any advice so I can make an informative bug report?
Bisection isn't really needed for a good bug report.  What's most 
important is to give complete sources, ideally a test which will exit 
with zero status for a success and call abort for failure. Compile the 
test with -save-temps and pass along the .i file so that we don't need 
your system header files.  Minimizing the amount of library bits your 
test needs is also helpful.  It's OK to use standard C library 
functions, but if you send us something linking against several 
libraries it's going to be harder for us to analyze what's really going 
on because we probably don't have those libraries.


It's unlikely most of the developers are going to have SH hardware or 
even a setup that would let them run debian on qemu.  So if you've done 
any debugging to pinpoint what's happening at the assembly level, that's 
helpful.  We do have old gdb-sim simulators. So if your test is simple 
enough we may be able to debug it with that.

jeff

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Help with bisecting a test suite regression in GCC
  2022-03-26 22:41 Help with bisecting a test suite regression in GCC John Scott
  2022-03-27  4:53 ` Jeff Law
@ 2022-03-27  7:41 ` Jonathan Wakely
  1 sibling, 0 replies; 3+ messages in thread
From: Jonathan Wakely @ 2022-03-27  7:41 UTC (permalink / raw)
  To: John Scott; +Cc: gcc-help

On Sat, 26 Mar 2022 at 22:42, John Scott via Gcc-help
<gcc-help@gcc.gnu.org> wrote:
>
> Hi,
>
> While working on upgrading the gcc-sh-elf Debian package from gcc 11 to
> gcc 12, I think I've found a regression. I'm able to reproduce it with
> an upstream bare-metal build.
>
> I've had a hard time figuring out how to bisect it. A naive run with
> git bisect start
> git bisect new .

"." is not a tag or commit revision. I don't know what this does.

> git bisect old releases/gcc-11.2.0

This tag is on the gcc-11 branch, which is not in the history of gcc-12.

I think what you want is:
git bisect start
git bisect new master
git bisect old `git merge-base releases/gcc-11.2.0 master`

This will bisect between the point where the gcc-11 branch was created
and the current head of master.


>
> fails with
> The merge base 250f234988b6231669a720c52101d3686d645072 is new.
> The property has changed between 250f234988b6231669a720c52101d3686d645072 and [7ca388565af176bd4efd4f8db1e5e9e11e98ef45].
> error: bisect run failed: 'git bisect--helper --bisect-state (null)' exited with error code -3
>
> I'm not enough of a Git or GCC wizard to get further. Does anyone have
> any advice so I can make an informative bug report?

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-03-27  7:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-26 22:41 Help with bisecting a test suite regression in GCC John Scott
2022-03-27  4:53 ` Jeff Law
2022-03-27  7:41 ` Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).