--- Log opened Sat Jul 13 00:00:24 2013 | ||
poke53281 | Today I have played a little bit with source code of gcc to implement varargs that behaves like non-varargs. | 02:24 |
---|---|---|
poke53281 | http://pastie.org/8136407 | 02:24 |
poke53281 | The pushing of args onto the stack works, unfortunately the stack pointer r1 does not reckognize the change. *pretend_sizep which should take care of it seems to be useless. It does not change anything. A lot of other architectures implement it like I did. | 02:25 |
poke53281 | Ahh, probably found the problem | 03:18 |
stekern | just so I understand what the setup_incoming_varargs function is supposed to do, it takes the registers and put them on the stack, in the same way as if they had been on the stack (i.e. the way it works with the or1k abi), right? | 03:24 |
poke53281 | Yes, the only thing missing is that the stack pointer handles it properly. But this is done in the or1k_expand_prologue somewhere | 03:25 |
poke53281 | or in or1k_compute_frame_size | 03:26 |
poke53281 | So I have to do it more or less manually | 03:26 |
stekern | yeah, I think *you* have to use that *pretend_sizep information somewhere | 03:27 |
poke53281 | Exactly. I have to include crtl->args.pretend_args_size | 03:27 |
poke53281 | somewhere in the function | 03:28 |
stekern | more precisely: or1k_compute_framesize: save it into the frame_info struct and allocate stack space. or1k_expand_prologue: put the varargs regs on the stack *first*, update stack pointer. or1k_expand_epilogue: update stack pointer | 03:42 |
poke53281 | Yes, writing it in an english sentence is easier than actually doing it :) | 03:48 |
stekern | =P | 03:51 |
poke53281 | what is the redzone or or1k? | 04:00 |
stekern | 128 bytes | 04:05 |
stekern | hmm, a lot of the c++ tests are failing... | 04:18 |
stekern | poke53281: ping me if you intend to run the testsuite in the near future | 04:19 |
poke53281 | The C-tests are fine? | 04:20 |
stekern | I'd like to know if it's changes in 4.8.1 that's causing this or if it's the same in 4.8.0 | 04:20 |
stekern | there are a couple of fails there too, but I think those have been there earlier | 04:21 |
poke53281 | well, take the first one which is failing and check if this is also present in 4.8.0 | 04:21 |
stekern | yeah | 04:22 |
poke53281 | I think I can manage it tomorrow | 04:23 |
stekern | I'm waiting for those tests to finish first | 04:23 |
stekern | ...then I need to reboot that machine and invetigate why my graphics card suddenly broke down... | 04:24 |
poke53281 | You compiled your graphics driver accidentally for the or1k- platform? | 04:26 |
poke53281 | ;) | 04:28 |
stekern | =P | 04:30 |
stekern | I would have been surprised if it would have worked as long as it did then | 04:30 |
stekern | I think at least one test fails after fixing those constructors/destructors, but I think that have been a false positive before | 05:35 |
poke53281 | Ok | 05:52 |
poke53281 | I have bad news. The computer on which I am working doesn't have a tap device. And I don't have root privileges. So connection with or1ksim will not work. | 05:53 |
poke53281 | Have to switch the computer. | 05:54 |
stekern | looks like a lot of failures are of the type: throw exception -> segfault | 09:12 |
stekern | at least the libstdc++ test works now, they didn't in 4.8.0 | 13:23 |
stekern | ohh, it looks like sjlj exceptions are not used, but they should be I think | 13:36 |
stekern | blueCmd: you around? | 13:37 |
stekern | doh, I haven't copied my libgcc_s.so to the right place in my build root... | 14:21 |
poke53281 | Ok :) | 17:00 |
poke53281 | So, I have installed everything on another computer with tap device. Let's see | 17:01 |
stekern | poke53281: good luck! ;) | 17:16 |
stekern | technically, you could have just installed or1ksim on that, as long as you have net access to that box | 17:17 |
stekern | I'm rerunning the tests with the right libgcc_s now... at least a handful of the test I checked by hand passed with that | 17:18 |
stekern | I think blueCmd changed so we're not using sjlj anymore | 17:19 |
olofk | FYA, I used the "silent ack" card and applied some fixes to or1200-monitor in orpsocv2 | 19:11 |
olofk | s/FYA/FYI | 19:12 |
olofk | I think we should set up a new teleconference pretty soon. It would be good to have some discussions about orconf 2013 | 19:12 |
olofk | Maybe we should try something else than hangouts then, as there seemed to be more than ten people who wanted to join | 19:13 |
jeremybennett | olofk: Yes. Simple teleconf may be easiest. Let me know if you want me to set it up. | 19:14 |
olofk | The best feature with hangout is that we can get a recording of the talk, but we could just use any service and ask NSA for a dump of the session if we need it | 19:14 |
olofk | jeremybennett: That would be great. I'm a bit too old school for setting up those kind of things | 19:15 |
poke53281 | stekern: testsuite running. Currently without the _init/_fin changes, but with the gcc-native patch | 19:20 |
poke53281 | How long will this run? | 19:21 |
olofk | stekern or poke53281: It would be awesome if someone could put up a guide for running the GCC testsuite on the wiki. I've been interested in doing that a few times, but never had the time to read up on how to do it | 19:24 |
jeremybennett | olofk: OK - give me a day or two to set it up. We can get it recorded as well. | 19:25 |
olofk | jeremybennett: Perfect. Now we only need some attendants :) | 19:27 |
poke53281 | stekern: I was wrong. pulled yesterday the updates. So _init and _fin are already corrected | 19:29 |
blueCmd | stekern: correct | 21:07 |
blueCmd | dw2 is used noq | 21:08 |
blueCmd | now* | 21:08 |
olofk | hmm... for some reason, or1200-monitor doesn't print out (exception) anymore | 22:23 |
olofk | Or rather, the reason is that wb_freeze and except_flushpipe aren't asserted at the same time. Has there been any changes in that area recently? | 22:25 |
olofk | sorry.. wb_freeze should _not_ be asserted | 22:26 |
olofk | oh... running a testcase that actually triggers exception seems to help | 23:48 |
--- Log closed Sun Jul 14 00:00:26 2013 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!