From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: yao@codesourcery.com
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA 7/8] New port: TI C6x: test case fixes
Date: Wed, 10 Aug 2011 12:28:00 -0000 [thread overview]
Message-ID: <201108101227.p7ACR31R013872@glazunov.sibelius.xs4all.nl> (raw)
In-Reply-To: <4E415152.8020905@codesourcery.com> (message from Yao Qi on Tue, 09 Aug 2011 23:25:06 +0800)
> Date: Tue, 09 Aug 2011 23:25:06 +0800
> From: Yao Qi <yao@codesourcery.com>
>
> On 08/09/2011 11:15 PM, Mark Kettenis wrote:
> > Why depend on this NOMMU-magic? Just install the signal handler for
> > bth SIGSEGV and SIGILL, try a store to (or perhaps a read from)
> > address 0, and then fall through to executing an illegal instruction.
>
> Because I want to reduce the scope of using invalid instruction. We
> only need to know the invalid instruction for HAS_NOMMU arch, and emit
> error if we forget to define an invalid instruction for a new NOMMU
> port. Do it make sense?
I don't really think that's an issue. If the test is run on an
mmu-less machine for which no illegal instruction is defined, the test
will fail. That should prompt someone to look at the test and add the
missing instruction.
I really just want to avoid the #ifdef maze you're creating which
makes the code more complicated and the test less generic. I think
you're too much focussed on reducing the number of FAILs for your
particular target to zero instead of improving the tests such that
they become more generally useful. For example:
> diff --git a/gdb/testsuite/gdb.base/savedregs.exp b/gdb/testsuite/gdb.base/savedregs.exp
> index eeee0ff..4408137 100644
> --- a/gdb/testsuite/gdb.base/savedregs.exp
> +++ b/gdb/testsuite/gdb.base/savedregs.exp
> @@ -84,6 +84,14 @@ proc process_saved_regs { current inner outer } {
> # Sigtramp frames don't yet print <signal trampoline>.
> set pat "Stack frame at .* Saved registers:.*"
> }
> + thrower {
> + if { [istarget tic6x-*-*] } {
> + # On tic6x, there is no register saved in function thrower.
> + set pat "Stack frame at .* in $func .*"
> + } else {
> + set pat "Stack frame at .* in $func .* Saved registers:.*"
> + }
Why are you special-casing tic6x here? Is the architecture really
that special that there are no saved registers? I suspect it isn't
and that this can happen on other architectures as well, depending on
how much optimization the compiler is doing.
next prev parent reply other threads:[~2011-08-10 12:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-20 2:12 Yao Qi
2011-07-25 11:37 ` Yao Qi
2011-08-09 14:22 ` Pedro Alves
2011-08-09 15:03 ` Yao Qi
2011-08-09 15:17 ` Mark Kettenis
2011-08-09 15:25 ` Yao Qi
2011-08-10 12:28 ` Mark Kettenis [this message]
2011-08-10 14:05 ` Yao Qi
2011-08-14 16:24 ` Yao Qi
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=201108101227.p7ACR31R013872@glazunov.sibelius.xs4all.nl \
--to=mark.kettenis@xs4all.nl \
--cc=gdb-patches@sourceware.org \
--cc=yao@codesourcery.com \
/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