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
next prev parent 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).