This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GDB 8.2.90 available for testing



> On 4 Mar 2019, at 11:14, Andrew Burgess <andrew.burgess@embecosm.com> wrote:
> 
> * Jim Wilson <jimw@sifive.com> [2019-02-27 14:05:23 -0800]:
> 
>> On 2/26/19 9:51 PM, Joel Brobecker wrote:
>>> I have just finished creating the gdb-8.2.90 pre-release.
>>> Please give it a test if you can and report any problems you might find.
>> 
>> On a riscv64-linux system (HiFive Unleashed w/ Fedora Core 29), without an
>> Ada compiler in my path, I get
>> 
>>                === gdb Summary ===
>> 
>> # of expected passes            50264
>> # of unexpected failures        2297
>> # of expected failures          57
>> # of unknown successes          3
>> # of known failures             79
>> # of untested testcases         132
>> # of unresolved testcases       110
>> # of unsupported tests          359
>> 
>> which looks OK.  There was no riscv-linux native support in gdb-8.2 so this
>> is a major improvement over the last one.  I did used to have better results
>> though.  I'm seeing
>> 
>> hifiveu017:1040$ grep ^FAIL gdb.sum | grep infcall | wc
>>    878    8059  103059
>> 
>> and I think that these mostly used to work, since I used to have about 1500
>> failures.  I think something in the last 3 months broke this, but I haven't
>> had time to track it down.  I see stuff like this in the log files
>> 
>> p/d check_arg_struct_01_01 (ref_val_struct_01_01)^M
>> ../../binutils-gdb/gdb/riscv-tdep.c:2119: internal-error: void
>> riscv_call_arg_struct(riscv_arg_info*, riscv_call_info*): Assertion
>> `TYPE_LENGTH (ainfo->type) == TYPE_LENGTH (sinfo.field_type (0))' failed.^M
>> A problem internal to GDB has been detected,^M
>> further debugging may prove unreliable.^M
>> Quit this debugging session? (y or n) FAIL:
>> gdb.base/infcall-nested-structs.exp: l=c++: types-tfc: p/d
>> check_arg_struct_01_01 (ref_val_struct_01_01) (GDB internal error)
> 
> I don't think these are regressions, just new tests that expose a bug
> that was present since the initial upstreaming.  The issue relates to
> the difference in size between an empty struct in gcc and g++ (0 vs 1
> respectively), and how this effects argument passing.

I can confirm that for infcall-nested-structs.exp - I expanded that test fairly
significantly. You're probably running into all the same issues I fixed for
AArch64.  There are some parts that fail for X86_64 too.

> 
> I have a fix in progress, but it will probably be a couple of days
> before its ready to post.  I guess we can back-port to 8.3 if I get
> the patch ready soon.  I'm not too worried if it doesn't make it in
> though, if feels like an edge case.
> 
> Thanks,
> Andrew


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]