public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Dragan Mladjenovic <Dragan.Mladjenovic@syrmia.com>
To: Mike Frysinger <vapier@gentoo.org>
Cc: gdb-patches@sourceware.org,
	"Maciej W . Rozycki" <macro@orcam.me.uk>,
	Chao-ying Fu <cfu@wavecomp.com>,
	Faraz Shahbazker <fshahbazker@wavecomp.com>
Subject: Re: [PATCH v5 4/4] sim: mips: Add simulator support for mips32r6/mips64r6
Date: Fri, 13 Jan 2023 15:09:54 +0100	[thread overview]
Message-ID: <db6eb303-f996-a4b6-a6bd-96bb1ea9188d@syrmia.com> (raw)
In-Reply-To: <Y6uJ8bJeBe9Wxdz+@vapier>

On 28-Dec-22 01:12, Mike Frysinger wrote:
> On 27 Dec 2022 20:35, Dragan Mladjenovic wrote:
>> On 25-Dec-22 01:26, Mike Frysinger wrote:
>>> On 02 Feb 2022 11:17, Dragan Mladjenovic wrote:
>>>> --- a/sim/mips/configure.ac
>>>> +++ b/sim/mips/configure.ac
>>>> @@ -216,6 +227,7 @@ if test ${sim_gen} = MULTI; then
>>>>    #include "sim-main.h"
>>>>    #include "multi-include.h"
>>>>    #include "elf-bfd.h"
>>>> +#include "elfxx-mips.h"
>>>>    #include "elf/mips.h"
>>>>    
>>>>    #define SD sd
>>>> @@ -235,7 +247,11 @@ sim_engine_run (SIM_DESC sd,
>>>>    	   & EF_MIPS_ARCH_ASE_MICROMIPS)
>>>>        mach = bfd_mach_mips_micromips;
>>>>      else
>>>> -    mach = STATE_ARCHITECTURE (SD)->mach;
>>>> +  {
>>>> +     mach = _bfd_elf_mips_mach (elf_elfheader (STATE_PROG_BFD (sd))->e_flags);
>>>> +     if (!mach)
>>>> +       mach = STATE_ARCHITECTURE (SD)->mach;
>>>> +  }
>>>
>>> why do you need this logic in the main engine run routine ?  why isn't the
>>> STATE_ARCHITECTURE value already set to the correct value ?  if it isn't set
>>> correctly all the time, this can lead to incorrect behavior elsewhere when
>>> code checks it.
>>>
>>> when the sim is opened, the bfd_mach is either explicitly passed in (which
>>> gdb does), or initialized with a call to the bfd library APIs.  see the
>>> sim/common/sim-utils.c:sim_analyze_program code.
>>
>> Sorry but the exact reason for doing so eludes me. It is done on
>> internal jump for gdb 8 to gdb 10, permissibly to allow running
>> binary even whet set arch forces older mips isa, but I see little
>> use of that outside of testsuite maybe.
> 
> i'd argue that if you load a binary for one ISA, then force the runtime
> to use a different one, and the result crashes, then the sim is WAI.  it
> should behave as real hardware does, and if you load a binary that needs
> a newer ISA than a CPU provides, it won't work.
> 
> do you know if there's a testsuite, sim or gdb, that exercises this ?
> -mike

Hi,

Sorry for the late reply. I couldn't find any.


Best regards,
Dragan

  reply	other threads:[~2023-01-13 14:10 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-20  7:45 [PATCH 0/5] Add support for MIPS32/64 revision 6 Faraz Shahbazker
2021-05-20  7:45 ` [PATCH 1/5] sim: Allow toggling of quiet NaN-bit semantics Faraz Shahbazker
2021-05-22  1:16   ` Mike Frysinger
2021-05-20  7:45 ` [PATCH 2/5] sim: Factor out NaN handling in floating point operations Faraz Shahbazker
2021-05-22  1:25   ` Mike Frysinger
2021-05-23  6:32     ` [EXTERNAL]Re: " Faraz Shahbazker
2021-05-24  1:26       ` Mike Frysinger
2021-05-20  7:45 ` [PATCH 3/5] sim: Add partial support for IEEE 754-2008 Faraz Shahbazker
2021-05-22  1:34   ` Mike Frysinger
2021-05-20  7:45 ` [PATCH 4/5] sim: mips: Add simulator support for mips32r6/mips64r6 Faraz Shahbazker
2021-05-22  1:46   ` Mike Frysinger
2021-05-22  6:20     ` Eli Zaretskii
2021-06-27 19:25       ` [EXTERNAL]Re: " Faraz Shahbazker
2021-06-27 19:33         ` Simon Marchi
2021-06-27 19:44           ` Eli Zaretskii
2021-06-27 20:24             ` Faraz Shahbazker
2021-06-28 12:17               ` Eli Zaretskii
2021-07-02 10:10                 ` Faraz Shahbazker
2021-12-24 18:42                   ` Mike Frysinger
2021-06-28  1:16           ` Mike Frysinger
2021-05-22  6:44     ` Faraz Shahbazker
2021-05-24 17:57     ` [PATCH v2 0/5] Add support for MIPS32/64 revision 6 Faraz Shahbazker
2021-05-24 17:57       ` [PATCH v2 1/5] sim: Allow toggling of quiet NaN-bit semantics Faraz Shahbazker
2021-05-24 17:57       ` [PATCH v2 2/5] sim: Factor out NaN handling in floating point operations Faraz Shahbazker
2021-05-24 17:58       ` [PATCH v2 3/5] sim: Add partial support for IEEE 754-2008 Faraz Shahbazker
2021-05-24 17:58       ` [PATCH v2 4/5] sim: mips: Add simulator support for mips32r6/mips64r6 Faraz Shahbazker
2021-05-24 17:58       ` [PATCH v2 5/5] gdb: mips: Add MIPSR6 support Faraz Shahbazker
2021-05-29  1:53         ` Simon Marchi
2021-06-27 19:10           ` [PATCH v3 " Faraz Shahbazker
2021-05-20  7:45 ` [PATCH " Faraz Shahbazker
2022-02-02 10:17 ` [PATCH v5 0/4] sim: Add support for MIPS32/64 revision 6 Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 1/4] sim: Allow toggling of quiet NaN-bit semantics Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 2/4] sim: Factor out NaN handling in floating point operations Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 3/4] sim: Add partial support for IEEE 754-2008 Dragan Mladjenovic
2022-02-02 10:17   ` [PATCH v5 4/4] sim: mips: Add simulator support for mips32r6/mips64r6 Dragan Mladjenovic
2022-12-25  0:26     ` Mike Frysinger
2022-12-27 19:35       ` Dragan Mladjenovic
2022-12-28  0:12         ` Mike Frysinger
2023-01-13 14:09           ` Dragan Mladjenovic [this message]
2022-02-04  5:48   ` [PATCH v5 0/4] sim: Add support for MIPS32/64 revision 6 Mike Frysinger
2022-02-04 12:29     ` Dragan Mladjenovic
2022-02-06 14:57       ` Joel Brobecker
2022-02-06 15:38         ` Dragan Mladjenovic
2022-02-06 16:28           ` Joel Brobecker
2022-02-06 18:49             ` Mike Frysinger
2022-02-07 11:48               ` Dragan Mladjenovic
2022-02-13 13:43                 ` Joel Brobecker
2022-02-14  0:04                   ` Mike Frysinger
2022-04-15  7:24                     ` Dragan Mladjenovic
2022-04-15  7:35                       ` Eli Zaretskii

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=db6eb303-f996-a4b6-a6bd-96bb1ea9188d@syrmia.com \
    --to=dragan.mladjenovic@syrmia.com \
    --cc=cfu@wavecomp.com \
    --cc=fshahbazker@wavecomp.com \
    --cc=gdb-patches@sourceware.org \
    --cc=macro@orcam.me.uk \
    --cc=vapier@gentoo.org \
    /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).