This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: [Consult] tile: How to construct testsuite for tile architecture without hardware.
- From: Chen Gang <chengang at emindsoft dot com dot cn>
- To: Chris Metcalf <cmetcalf at ezchip dot com>, "walt at tilera dot com" <walt at tilera dot com>
- Cc: Jeff Law <law at redhat dot com>, gcc-help <gcc-help at gcc dot gnu dot org>, Mike Stump <mikestump at comcast dot net>, Richard Henderson <rth at redhat dot com>, Peter Maydell <peter dot maydell at linaro dot org>, Andreas FÃrber <afaerber at suse dot de>, "rth at twiddle dot net" <rth at twiddle dot net>
- Date: Sun, 13 Mar 2016 18:37:49 +0800
- Subject: Re: [Consult] tile: How to construct testsuite for tile architecture without hardware.
- Authentication-results: sourceware.org; auth=none
- References: <54BA30F3 dot 4080202 at sunrus dot com dot cn> <54BD2C5E dot 1070804 at ezchip dot com>,<54BDB71D dot 90703 at sunrus dot com dot cn> <54C39ECA dot 3000603 at sunrus dot com dot cn>,<BLU437-SMTP608E7DC685C8BE9CE6E98B9860 at phx dot gbl>,<BLU436-SMTP259B71CFECFA179081E925CB98C0 at phx dot gbl>,<55E27DB9 dot 6050606 at hotmail dot com>,<COL130-W261B4272A294A4075EE1C6B96C0 at phx dot gbl>,<560CB2C0 dot 7000107 at hotmail dot com>,<COL130-W48A514BEBDCF6DAD28464EB9490 at phx dot gbl> <COL130-W59BFED47DCFC251836366AB9480 at phx dot gbl> <BLU436-SMTP197ACB8628A8A46897DE470B93C0 at phx dot gbl> <56232CE1 dot 6050405 at hotmail dot com> <565C55D3 dot 1060608 at hotmail dot com> <56DB7547 dot 9050706 at emindsoft dot com dot cn>
After tried, I guess, I have found the root cause, this issue is about
tilegx qemu linux-user in setup_rt_frame() in linux-user/signal.c:
- When there is no ka->sa_restorer in setup_rt_frame(), I should make
the related opcode in guest space (about TARGET_NR_rt_sigreturn),
should not directly use do_rt_sigreturn() from host space.
- Then when cleanup-10.exe catch the failure, the lr register will get
the opcode address for TARGET_NR_rt_sigreturn. After several normal
successful rewind, cleanup-10.exe will call this address.
- But my implementation let the related address is do_rt_sigreturn
which is in host space (an invalid address for cleanup-10.exe), then
cause the rewind failure.
It really spends me much free time resources, I almost make a qemu as a
debugger!! I guess, I shall add some necessary debug features in tile
qemu (just like the other targets have done). Welcome any suggestions!
Thanks.
On 3/6/16 08:09, Chen Gang wrote:
> Hello all:
>
> Sorry for disappearing several months, the reasons (excuses) are:
>
> - During these days, I am a little busy (although it is not a quite
> good excuse).
>
> - China Spring Festival (it maybe be a reason/excuse).
>
> - I blocked at cleanup-10.exe failure issue (build gcc/testsuite/gcc.dg
> /cleanup-10.c). I guess, this issue isn't quit complex to me, but it
> needs quite a few of my free time resources (e.g. several months) :-(
>
> At present, I let my tile qemu almost be a crashdump: dump full working
> flow (all insns and regs - 2G file, 34M lines), dump simple working flow
> (all insns - 82M file, 2M lines). check them with objdump and src code.
>
> I shall continue for it (for cleanup-10.exe issue firstly), and welcome
> any ideas, suggestions, and completions by any members.
>
> Thanks.
>
--
Chen Gang (éå)
Managing Natural Environments is the Duty of Human Beings.