public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: "Kempke, Nils-Christian" <nils-christian.kempke@intel.com>
To: Tom de Vries <tdevries@suse.de>,
	Andrew Burgess <aburgess@redhat.com>,
	"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Cc: "JiniSusan.George@amd.com" <JiniSusan.George@amd.com>
Subject: RE: [PATCH v2 00/16] Fortran compiler identification and ifx testsuite support
Date: Wed, 1 Jun 2022 09:23:37 +0000	[thread overview]
Message-ID: <CY4PR1101MB207103766E9C114F549F52B9B8DF9@CY4PR1101MB2071.namprd11.prod.outlook.com> (raw)
In-Reply-To: <c3d0c9c3-910e-3402-a06c-a40f3c2b3778@suse.de>



> -----Original Message-----
> From: Tom de Vries <tdevries@suse.de>
> Sent: Wednesday, June 1, 2022 9:32 AM
> To: Kempke, Nils-Christian <nils-christian.kempke@intel.com>; Andrew
> Burgess <aburgess@redhat.com>; gdb-patches@sourceware.org
> Cc: JiniSusan.George@amd.com
> Subject: Re: [PATCH v2 00/16] Fortran compiler identification and ifx testsuite
> support
> 
> On 6/1/22 09:10, Kempke, Nils-Christian wrote:
> >
> >
> >> -----Original Message-----
> >> From: Gdb-patches <gdb-patches-bounces+nils-
> >> christian.kempke=intel.com@sourceware.org> On Behalf Of Kempke,
> Nils-
> >> Christian via Gdb-patches
> >> Sent: Wednesday, June 1, 2022 8:44 AM
> >> To: Tom de Vries <tdevries@suse.de>; Andrew Burgess
> >> <aburgess@redhat.com>; gdb-patches@sourceware.org
> >> Cc: JiniSusan.George@amd.com
> >> Subject: RE: [PATCH v2 00/16] Fortran compiler identification and ifx
> testsuite
> >> support
> >>
> >>> -----Original Message-----
> >>> From: Tom de Vries <tdevries@suse.de>
> >>> Sent: Wednesday, June 1, 2022 7:14 AM
> >>> To: Andrew Burgess <aburgess@redhat.com>; Kempke, Nils-Christian
> >> <nils-
> >>> christian.kempke@intel.com>; gdb-patches@sourceware.org
> >>> Cc: JiniSusan.George@amd.com
> >>> Subject: Re: [PATCH v2 00/16] Fortran compiler identification and ifx
> >> testsuite
> >>> support
> >>>
> >>> On 6/1/22 06:54, Tom de Vries wrote:
> >>>> On 5/31/22 21:33, Tom de Vries via Gdb-patches wrote:
> >>>>> I'm seeing regressions with check-read1 (haven't tried native yet),
> >>>>> I'm guessing because of this patch series:
> >>>>> ...
> >>>>> FAIL: gdb.fortran/allocated.exp: gdb_breakpoint: set breakpoint at
> >>>>> unknown
> >>>>
> >>>> I could reproduce this with native, but only when running the entire
> >>>> testsuite, not just the test-case.
> >>>>
> >>>> This looks like problems due to the caching of compiler_info, which
> >>>> doesn't take the language argument of proc get_compiler_info into
> >>> account.
> >>>>
> >>>
> >>> That's confirmed.  I did a run with caching disabled, and these FAILs
> >>> disappeared.
> >>>
> >>> Thanks,
> >>> - Tom
> >>>
> >>>> So, if I run the entire test suite, compiler_info is set to gcc-7-5-0
> >>>> and stays that way due to the caching, and because of this series gcc is
> >>>> no longer matched in proc fortran_main, so we run into FAILs.
> >>>>
> >>>> Thanks,
> >>>> - Tom
> >>
> >> Hi,
> >>
> >> Sorry for this, I could not see any of these regressions in our CI nor in the
> >> runs
> >> I did manually. I assume something is different in the way I am running
> the
> >> Testsuite. I thought the caching would only ever happen for each
> individual
> >> test rather than multiple ones. But apparently there is a way this can be
> done
> >> cached over different tests?
> >>
> >> I/CI ran the testsuite like
> >>
> >>    make check TESTS="gdb.*/*.exp" FORCE_PARALLEL='1' -j $(nproc --
> ignore
> >> 1)
> >>
> >> as well as
> >>
> >>    make check TESTS="gdb.*/*.exp" RUNTESTFLAGS='--
> target_board="unix" \
> >>      CC_FOR_TARGET='gcc' CXX_FOR_TARGET='gcc' \
> >>      F90_FOR_TARGET="gfortran"' FORCE_PARALLEL='1' -j $(nproc --ignore
> 1)
> >>
> >> (and then the same for unix/-m32, and native-gdbserver and
> >> native-extended-gdbserver)
> >>
> >> and
> >>
> >>    make check -j $(nproc --ignore 1)
> >>
> >> I assume I am somewhat running the testsuite differently.
> >>
> >> Could you tell me how to run the testsuite instead?
> >>
> >> Thanks,
> >> Nils
> >
> > Ok, so apparently running the testsuite in any kind of parallel mode
> disables this
> > caching?
> >
> 
> I don't think it's that.
> 
> But if there's an error in caching, the first invocation becomes
> significant, and with parallel testing each parallel instance does its
> own first invocation, so it's possible that you get different results
> between parallel and non-parallel.
> 
> > I can reproduce these with plain
> >
> >    make check
> >
> > Sorry for missing this. I'll try an push a patch to fix this - not sure if we
> should
> > revert until then as the series seems to cause regressions on all of the
> Fortran
> > testsuite...
> 
> No problem of course, it happens.
> 
> I suppose the thing we really want to fix is the caching which needs to
> be made language-specific.
> 
> But I imagine some simple workaround like this:
> ...
> diff --git a/gdb/testsuite/lib/fortran.exp b/gdb/testsuite/lib/fortran.exp
> index 9ee4208fb88..aa3882794a9 100644
> --- a/gdb/testsuite/lib/fortran.exp
> +++ b/gdb/testsuite/lib/fortran.exp
> @@ -177,6 +177,7 @@ proc fortran_character1 {} {
> 
>   proc fortran_main {} {
>       if {[test_compiler_info {gfortran-*} f90]
> +       || [test_compiler_info {gcc-*} f90]
>          || [test_compiler_info {ifort-*} f90]
>          || [test_compiler_info {ifx-*} f90]
>          || [test_compiler_info {flang-llvm-*} f90]} {
> ...
> will already take care of the regressions.

It will take care of a bunch (all the runto_main ones) but there are the compiler
dependent output names for Fortran intrinsic types as well. Basically all the
checks in fortran.exp would need this fallback.

Also, there exist compiler dependent tests and KFAILs in the gdb.fortran
testsuite which would fail to identify the compiler correctly.
 
I have prepared two patches that make the compiler info caching language
specific. I am not sure whether these fix all regressions seen but I'll post
them (after checking for regressions) and hope these fix all problems seen
with this series.

Thanks,
Nils

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

      reply	other threads:[~2022-06-01  9:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-31  9:24 Nils-Christian Kempke
2022-05-31  9:24 ` [PATCH v2 03/16] gdb/testsuite: Fix fortran types for Intel compilers Nils-Christian Kempke
2022-05-31 14:15   ` Andrew Burgess
2022-05-31 14:48     ` Kempke, Nils-Christian
2022-05-31  9:24 ` [PATCH v2 04/16] gdb/testsuite: move getting_compiler_info to front of gdb_compile Nils-Christian Kempke
2022-05-31 16:00   ` Andrew Burgess
2022-05-31  9:24 ` [PATCH v2 06/16] gdb/testsuite: rename intel next gen c/cpp compilers Nils-Christian Kempke
2022-05-31 14:47   ` Andrew Burgess
2022-05-31  9:24 ` [PATCH v2 10/16] testsuite, fortran: Add '-debug-parameters all' when using ifx/ifort Nils-Christian Kempke
2022-05-31 16:03   ` Andrew Burgess
2022-05-31  9:24 ` [PATCH v2 12/16] testsuite, fortran: fix info-types for intel compilers Nils-Christian Kempke
2022-05-31 16:06   ` Andrew Burgess
2022-06-01  5:25     ` Tom de Vries
2022-06-01  9:21       ` Kempke, Nils-Christian
2022-06-03  6:53         ` Tom de Vries
2022-05-31  9:24 ` [PATCH v2 16/16] gdb/testsuite: fixup common-block.exp " Nils-Christian Kempke
2022-05-31 16:08   ` Andrew Burgess
2022-05-31 16:14 ` [PATCH v2 00/16] Fortran compiler identification and ifx testsuite support Andrew Burgess
2022-05-31 16:27   ` Kempke, Nils-Christian
2022-05-31 19:33   ` Tom de Vries
2022-06-01  4:54     ` Tom de Vries
2022-06-01  5:13       ` Tom de Vries
2022-06-01  6:44         ` Kempke, Nils-Christian
2022-06-01  7:10           ` Kempke, Nils-Christian
2022-06-01  7:32             ` Tom de Vries
2022-06-01  9:23               ` Kempke, Nils-Christian [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CY4PR1101MB207103766E9C114F549F52B9B8DF9@CY4PR1101MB2071.namprd11.prod.outlook.com \
    --to=nils-christian.kempke@intel.com \
    --cc=JiniSusan.George@amd.com \
    --cc=aburgess@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tdevries@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).