--- Log opened Wed May 11 00:00:01 2016 | ||
olofk | shorne: Looks to me like the failing tests in structs are also caused by the "reg not updated" warnings | 01:16 |
---|---|---|
olofk | All the more reason to find a kill that | 01:17 |
olofk | Any clue where they might come from? | 01:17 |
olofk | Maybe here? https://github.com/openrisc/binutils-gdb/blob/6b3c16437b7997de967746f0539e4e0172e39861/gdb/remote-sim.c#L532 | 01:19 |
olofk | Or more likeley, line 534 in the same function | 01:20 |
olofk | _franck_: Any clues? | 01:21 |
olofk | Is this only in the sim backend, or does debugging against or1ksim or hw yield the same warning? | 01:22 |
olofk | shorne: Did you ever upload the commands to run the testsuite? I couldn't see anything when I skimmed through the backlog | 01:26 |
_franck__ | olofk: no I don't. | 02:41 |
_franck__ | as for running the testsuite: https://gist.github.com/stffrdhrn/37f77ed54745deedf47356a4a8b31124 | 02:41 |
_franck__ | and you can run only on test using an option. Which one ? :) | 02:41 |
_franck__ | make check RUNTESTFLAGS="testfilename.exp" | 02:50 |
olofk | How do I only build gdb? | 03:12 |
_franck__ | I would try to go in gdb subdir then ./configure --target=or1k-elf --disable-tk --disable-tcl | 03:17 |
olofk | Ah. That's worth a try | 03:17 |
olofk | I did a full stage 2 build out-of-tree instead. Hopefully that doesn't take too long | 03:18 |
olofk | Hmm.. where should we put this "boards" directory? | 03:23 |
olofk | oh.. I need dejagnu too I guess | 03:26 |
olofk | Not there yet :( | 03:33 |
olofk | WARNING: Couldn't find the global config file. | 03:33 |
olofk | WARNING: No tool specified | 03:33 |
_franck__ | olofk: did you get those files: https://github.com/openrisc/or1k-src/commit/88f33dc2d615a861e0abb990be94fdb593e3eb07 | 03:34 |
olofk | _franck_: Yep. | 03:37 |
olofk | oh.. not site.exp | 03:37 |
olofk | And I need to set a DEJAGNU env var to something...? | 03:40 |
olofk | Where should I put site.exp? in $build_gdb/gdb/testsuite ? | 03:45 |
olofk | Still get warnings :/ | 03:46 |
olofk | According to jeremybennett's app note, DEJAGNU env var should be set to something to avoid warnings, but what??? | 03:47 |
olofk | I give up | 03:57 |
_franck__ | olofk: export DEJAGNU=~/site.exp | 04:11 |
shorne | olofk: Don't Panic! | 05:14 |
shorne | I uploaded other instructions here too: https://gist.github.com/stffrdhrn/9534262b1d682fa7d6d54bc93e3f2449 | 05:15 |
shorne | at the top of the gdb.log | 05:15 |
shorne | basically I do | 05:15 |
shorne | 1. clone or1k-src from github | 05:15 |
shorne | 2. export DEJAGNU={gitroot}/or1k-src/site.exp | 05:16 |
shorne | (to build gdb, I just build the whole thing, with make -j9) it takes about 2 minutes | 05:17 |
shorne | (build whole thing means | 05:17 |
shorne | 1. clone binutils-gdb | 05:17 |
shorne | 2. mkdir build-gdb # alongside the binutils-gdb directory | 05:18 |
shorne | then ../binutils-gdb/configure ... (as per my link above) | 05:18 |
shorne | when done, (and still in the build-gdb directory) cd gdb, and run 'make check ...' | 05:19 |
shorne | you can do single test like "make check RUNTESTFLAGS="--target_board=or1k-elf-sim gdb.base/structs.exp"" | 05:20 |
shorne | In terms of the failure for structs, I agree, it looks like gdb is scanning for some output but stumbling on those warnings. I think I can fix them. | 05:21 |
shorne | the warning comes from calling this method (I think we didnt have this issue in or1ksim) https://github.com/stffrdhrn/binutils-gdb/blob/40fdcded5e9ed96d425a8773f7c15c547682517b/sim/or1k/or1k.c#L44 | 05:25 |
shorne | This is where I just implemented for PC and General registers to get things going | 05:26 |
shorne | easy to add implementation for SR and PPC | 05:26 |
olofk | hi shorne. I'll try some more later today | 06:25 |
shorne | it should be easy to add implementation for SR and PPC | 07:11 |
olofk | shorne: I didn't follow the instructions exactly, but I think it should be close enough. Problem is that it still complains that it can't find some tool (?) | 07:33 |
olofk | WARNING: No tool specified | 07:33 |
olofk | WARNING: Couldn't find tool config file for unix, using default. | 07:33 |
olofk | hmmm... could it be that it's looking for or1k-elf-gdb? | 07:38 |
olofk | Because I don't have that anywhere | 07:38 |
olofk | Rebuilding the whole thing. Let's see if that works | 07:52 |
olofk | woohoo! It's runining now | 07:59 |
olofk | running, not ruining :) | 08:02 |
shorne | cool | 08:28 |
shorne | I fixed those warnings but still getting a few failures in the structs.exp test | 08:47 |
olofk | shorne: Nice. Did the overall number of failed tests decrease? | 08:52 |
shorne | For structs test it went from 106 -> 24 failures | 08:58 |
olofk | shorne: This fixes a fail in bp_permanent | 08:58 |
shorne | running overall now | 08:58 |
olofk | diff --git a/gdb/testsuite/gdb.base/bp-permanent.c b/gdb/testsuite/gdb.base/bp-permanent.c | 08:58 |
olofk | index 541a89b..7e17dc7 100644 | 08:58 |
olofk | --- a/gdb/testsuite/gdb.base/bp-permanent.c | 08:58 |
olofk | +++ b/gdb/testsuite/gdb.base/bp-permanent.c | 08:58 |
olofk | @@ -26,6 +26,8 @@ | 08:58 |
olofk | #if defined(__s390__) || defined(__s390x__) #define NOP asm("nopr 0") | 08:58 |
olofk | +#elif defined(__or1k__) | 08:58 |
olofk | +#define NOP asm("l.nop") #else #define NOP asm("nop") #endif | 08:58 |
olofk | Note to self. Don't paste many lines :) | 08:59 |
shorne | its ok, doesnt ever bother me | 08:59 |
shorne | :) | 08:59 |
shorne | ok, Yeah I saw that nop not defined error. We can just fix in the test case itself? | 08:59 |
shorne | oh, I see, they have a bunch of arch sepecifics there | 09:00 |
shorne | Ill update | 09:00 |
olofk | Yep. I just tried this | 09:00 |
olofk | http://a37ff30279742101.paste.se/ | 09:00 |
shorne | ok, applied the change and running tests | 09:03 |
olofk | Rebuilding now with your updates | 09:04 |
shorne | A bit better | 09:13 |
shorne | # of expected passes 16198 | 09:13 |
shorne | # of unexpected failures 414 | 09:13 |
shorne | Failures https://gist.github.com/306f52affee6c0d3339cd1e91fa50d28 | 09:16 |
shorne | Summary https://gist.github.com/stffrdhrn/a46a85b1e61e0359f40e8879fe84a9c7 | 09:16 |
olofk | What?? This is what it looks like for me | 09:22 |
olofk | # of expected passes18043 | 09:22 |
olofk | # of unexpected failures328 | 09:22 |
olofk | Just finished a regression test too | 09:22 |
shorne | Thats significantly more expected passes | 09:26 |
shorne | yours is using or1k? not or1ksim? | 09:27 |
shorne | If you can somehow get your gdb.sum (file in the testsuite directory) I can do a diff with mine | 09:31 |
olofk | Yep https://www.dropbox.com/s/vrjvtpooqzz3re7/gdb.sum?dl=0 | 09:32 |
olofk | https://www.dropbox.com/s/f6iojlh44kxoji4/gdb.log?dl=0 | 09:32 |
shorne | Looks like you are using gcc 4.9.2 | 09:36 |
shorne | I have wallento's latest 5.3.0 | 09:37 |
olofk | Ah.. true | 09:37 |
wallento | I was actually hoping things get better with gcc.. | 09:38 |
olofk | :( | 09:38 |
olofk | Newer gcc is often more picky | 09:38 |
olofk | Could be that | 09:38 |
wallento | We also have an eternal bug in C++ virtual tables | 09:38 |
wallento | I think philipp sent it to the list a while back | 09:38 |
olofk | Sent the bug, or sent a fix? :) | 09:38 |
wallento | the bug | 09:39 |
olofk | ohh | 09:39 |
wallento | thats way out of my comfort zone | 09:39 |
wallento | internal GCC error | 09:39 |
wallento | only in the OpenRISC backend | 09:39 |
* olofk looks the other way | 09:39 | |
shorne | Probably not many people going to be doing c++ with openrisc | 09:40 |
shorne | unless you are building linux desktop for it | 09:40 |
shorne | I updated the test diff here: https://gist.github.com/381a844a278db2e6e4fb024009bd8afa | 09:41 |
olofk | shorne: I always use OpenRISC to run monkey island under scummvm in X windows :) | 09:41 |
shorne | (renamed your home dir to mine to make the diff more clean) | 09:41 |
shorne | :) s/updated/uploaded/ | 09:42 |
olofk | Some of the differences are pretty strange | 09:43 |
shorne | hmm, you have a lot of passes for gdb.python | 09:43 |
olofk | Yeah, I saw those. They are unsupported in your case | 09:44 |
shorne | where should I enabled that? in gcc? | 09:44 |
olofk | No fucking clue | 09:45 |
shorne | :), ill look past those | 09:47 |
shorne | other than that its a few things here and there | 09:47 |
olofk | Yeah, and some false positives in the diff as well (like the missing sys/mman.h that is reported differently) | 09:48 |
shorne | yeah, and environ | 09:49 |
shorne | quite a lot in gdb.cp | 09:50 |
shorne | I guess thats cpp | 09:50 |
shorne | Maybe we need to look at cpp stuff, any link to the mail on the bug report? | 09:53 |
shorne | Ill see how complicated it is. | 09:54 |
olofk | Can't remember seeing that. wallento might have it | 09:54 |
wallento | I wiped my university mail and opencores archives are gone.. | 09:54 |
olofk | I should look into newlib and add the missing parts there | 09:55 |
olofk | wallento: Oh. You think Philipp can help here? | 09:55 |
wallento | yes, I triggered him | 09:55 |
olofk | cool | 09:55 |
shorne | Thanks | 09:56 |
wallento | wow, unlimited private repos with github | 10:56 |
wallento | but the pricing model just changed, right? | 10:56 |
robtaylor | yep | 10:59 |
robtaylor | v interesting | 10:59 |
wallento | shorne, olofk: "Just for the archive: The problem was with the -freg-struct-return flag, that is not supported with or1k. Bye, Stefan" | 11:01 |
wallento | that was one issue we had | 11:01 |
wallento | philipp is also searching for the other one. if someone has a local archive of the opencores mailing list it must have been like end of september 2014 | 11:03 |
_franck__ | wallento: that: http://pastie.org/private/ap0r1eckxeehn3d0uf2a ? | 11:05 |
wallento | yes! | 11:06 |
wallento | thanks, _frank__ | 11:06 |
wallento | there was a minimal code for reproduction attached I think, like overloaded virtual magic | 11:06 |
_franck__ | I have it, let me upload it | 11:07 |
wallento | excellent, thanks a lot | 11:07 |
_franck__ | stekern replied to this message: "I'll try to figure out what's up, but so far, I tested with earlier versions (4.8.0) of the toolchain, and they fail too. So, it's pretty certain that it's a or1k specific bug." | 11:07 |
_franck__ | there it is: https://www.dropbox.com/s/nnkmrgzp7qz46dy/testcase.cc?dl=0 | 11:08 |
_franck__ | shorne: ^ | 11:10 |
shorne | _franck_: thanks, I dont get a failure for this with newlib "or1k-elf-g++ -c -O1 cp-virtual-failure-tc.cc" | 17:09 |
shorne | Let me check what is actually failing in those test cases | 17:09 |
shorne | yeah the tests cases dont seem to be related to this. They ones with c++ virtual stuff failing are these https://gist.github.com/stffrdhrn/381a844a278db2e6e4fb024009bd8afa#file-gdb-sum-olofk2shorne-diff-L633 | 17:13 |
shorne | but not compiler failures | 17:13 |
shorne | failures for vtable are intersting, starts here: https://gist.github.com/stffrdhrn/306f52affee6c0d3339cd1e91fa50d28#file-gdb-failures-log-L2101 | 17:45 |
shorne | with Cannot access memory at address 0xfffffff4, Ill have to jump down to the assembly to see whats going on | 17:45 |
shorne | If I do 'p a' I get: p a | 17:50 |
shorne | $3 = {<V> = <invalid address>, _vptr.A = 0x0, a = 0} | 17:50 |
shorne | Also: | 18:40 |
shorne | (gdb) p a.fvb() | 18:40 |
shorne | Cannot access memory at address 0xfffffff4 | 18:40 |
shorne | (gdb) p a.f() | 18:40 |
shorne | Cannot access memory at address 0xfffffff4 | 18:40 |
shorne | test case code is this one: https://github.com/openrisc/binutils-gdb/blob/or1k/gdb/testsuite/gdb.cp/virtfunc.cc | 18:41 |
shorne | Just loaded into gdb and running the test commands manually, can reproduce | 18:41 |
shorne | Played with the same building for x86, and works fine, at least now I can see what is expected | 18:45 |
--- Log closed Thu May 12 00:00:02 2016 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!