--- Log opened Mon Jan 19 00:00:03 2015 | ||
poke53282 | yesterday, I started again on updating QEMU. I want to get rid of all those cross compiling issues, that we can port a lightweight distribution to openrisc like Alpine Linux. | 09:29 |
---|---|---|
poke53282 | I spent 30% of the time in rebasing and 70% in compiling a static qemu version. | 09:30 |
poke53282 | Static binaries are outdated. But unfortunately this is one of the very very rare cases, where you need one. | 09:31 |
olofk | haha | 09:31 |
olofk | Sounds like I should avoid qemu :) | 09:31 |
poke53282 | Yes, archlinux does not support static libraries anymore. | 09:32 |
olofk | yikes. Not at all? | 09:32 |
olofk | Are we using a vanilla upstream qemu by the way? | 09:32 |
poke53282 | no, they remove all those files from there packages. | 09:32 |
olofk | ah ok. With gentoo you can choose if you want them in most cases | 09:32 |
poke53282 | At the moment, there is the official QEMU version with a very bad OpenRISC support. | 09:33 |
poke53282 | Then there are two repositories from me and blueCmd with a very much improved QEMU support with a one year old QEMU version. | 09:33 |
poke53282 | Yesterday I rebased mine with the official repository. | 09:34 |
poke53282 | And I will add the patches from blueCmd. | 09:34 |
olofk | ah ok. It would be great to have that upstream | 09:35 |
poke53282 | I will put then my repository on https://github.com/openrisc | 09:35 |
poke53282 | Yes, would be great. | 09:35 |
poke53282 | QEMU is so much nicer than or1ksim. In my opinion. | 09:36 |
poke53282 | The qemu user mode especially. | 09:37 |
olofk | Yes, for most uses I guess qemu makes more sense, but or1ksim is still considered our golden reference | 09:37 |
poke53282 | Unfortunately the QEMU-user mode still lack its own chroot support. Therefore we need a static QEMU compiled binary. | 09:38 |
poke53282 | yes, or1ksim is even slower than jor1k was two years ago. | 09:39 |
poke53282 | by design. | 09:39 |
poke53282 | Which is Ok, but it makes it pretty much unusable. | 09:40 |
poke53282 | Two days ago I wanted to run gcc inside QEMU user mode. But the linking process gave me QEMU errors. Therefore I decided before I fix the erros to rebase first. | 09:42 |
olofk | Is anyone handy with socket-activated services? I would like OpenOCD to start when I connect to localhost:4444 and quit when I close the socket | 10:51 |
olofk | If I haven't got completely lost in the newlib #ifdef jungle, I would say it looks like _NO_LONGLONG is defined, which I guess would explain things | 14:27 |
olofk | btw, is the following true for or1k: "sizeof (long long) = sizeof long > sizeof int" ? | 14:28 |
olofk | There is a comment that says this around an ifdef that controls long long behaviour | 14:30 |
poke53282 | you can use "cpp" to execute the preprocessor and to see the output. | 14:30 |
poke53282 | Yes, ifdefs can be terrible to read. | 14:31 |
olofk | poke53282: Do you mean using the preprocessor to expand all the #ifdefs and #defines? | 14:31 |
poke53282 | yes | 14:32 |
olofk | hmm... that can be a bit tricky since automake compiles that file with a lot of include directives and defines | 14:34 |
poke53282 | printf("%i %i %i \n", sizeof(int), sizeof(long), sizeof(long long)); | 14:34 |
poke53282 | 4 4 8 | 14:34 |
poke53282 | Yes, that can be tricky. | 14:35 |
poke53282 | for such things like to check the sizeofs, the jor1k compile demo is perfect. | 14:36 |
olofk | Ah. That's true | 14:38 |
olofk | and to sum it up, long and int have equal size. Maybe that's the problem here | 14:39 |
poke53282 | yes, but I think, that's the normal behavior for gcc. | 14:40 |
poke53282 | x86 gcc 64 Bit gives 4 8 8. | 14:41 |
poke53282 | I don't have the any 32 Bit gcc here to test. | 14:42 |
LoneTech | poke53282: your compiler can probably do it using -m32, and it would likely yield 4 4 8 | 14:46 |
poke53282 | /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory | 14:47 |
LoneTech | long will generally be int_fast32_t, i.e. at lest 32 bit but a type that fits in a register (if possible) | 14:48 |
LoneTech | pardon. fast32 isn't 64 bit since amd64 is decent at 32 bit | 14:50 |
olofk | Ah cool. I got another idea for what's might be wrong now | 14:50 |
LoneTech | there are a bunch of other conventions for naming the sizes of these types, like ilp64: https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models | 14:52 |
olofk | ok, so by adding --enable-newlib-io-long-long we get the correct result | 14:53 |
olofk | I wonder if this is an arch-specific setting | 14:53 |
LoneTech | I think most current openriscs use 32 bit long | 14:54 |
poke53282 | Could be. | 14:54 |
olofk | Ah ok. README says " Disabled by default, but many hosts enable it in configure.host. | 14:54 |
olofk | " | 14:54 |
poke53282 | In principle such things are the task of the configure script. | 14:55 |
olofk | So it's not a bug, it's a feature :) | 14:55 |
poke53282 | :) | 14:59 |
olofk | stekern, wallento : There is one remaining bug for newlib in bugzilla (http://bugzilla.opencores.org/show_bug.cgi?id=86). Do you have any updates on that? Would be great to clear it out now that we're upstream | 19:17 |
olofk | wallento: I'm interested in this one as well http://bugzilla.opencores.org/show_bug.cgi?id=31 | 19:45 |
olofk | stekern: A new version of newlib was released with working or1k support, so I'm thinking of putting a snapshot tar ball of or1k-gcc on the OpenCores FTP so that people can build a toolchain without relying on any git components. What should I call it? | 20:57 |
olofk | gcc-4.9.1+git-150116 ? | 20:58 |
olofk | And maybe we should bundle | 21:02 |
olofk | GCC with a Windows registry cleaner and an IE toolbar | 21:02 |
stekern | olofk: I have fixed that bug (86) iirc | 21:04 |
olofk | Awesome! | 21:04 |
ysionneau | olofk: and an auto-switch for the homepage to openrisc web page | 21:04 |
olofk | ysionneau: I forgot that one :) | 21:05 |
ysionneau | and a gcc daemon, which runs some obscure bitcoin miner^Wcode optimizer | 21:05 |
olofk | Seem like your malware skills are more up to date :) | 21:06 |
olofk | Hmm.. I'm getting errors when I try to build gdb from or1k-src | 21:44 |
olofk | http://pastie.org/9841967 | 21:44 |
olofk | I got perhaps get around it with Werror, but it seems to be in opcodes, which I assume should be identical to what we have in upstream binutils, so why am I only getting the error here? | 21:46 |
olofk | ah ok. or1k-desc-h does differ on the three places where I got the errors | 21:51 |
--- Log closed Tue Jan 20 00:00:04 2015 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!