IRC logs for #openrisc Monday, 2012-10-22

olofkstekern: Thanks, I'll probably use parts of that.00:43
olofkThinking about what I should implement next in orpsocv3. Any particular features that would make people use it instead of orpsocv2?00:44
olofkI'm thinking of adding more simulator support (verilator or modelsim) or build support (xilinx or altera)00:45
juliusbah yeah that stuff is mostly in orpsocv2 right?02:10
juliusbaltera boards02:10
juliusbmodelsim, verilator, icarus02:10
juliusbverilator is a bit annoying to do02:10
juliusbbut otherwise it's mostly covered right?02:10
stekernjuliusb: I'm tempted to extend the pipeline of cappuccino with a traditional seperated mem and writeback stage, in an attempt to kill the critical paths we see08:06
stekernwhat do you reckon, should I modify cappuccino for that or make a new "cappuccino chiaro"?08:08
ConXhello guys is there something I could read to better understand OR's assembly?17:42
ConXI am not referring to the instruction set but to the general syntax (labels, branches etc)17:43
stekernConX: that's not very different than any other assembly17:53
ConXstekern: so what will you suggest for me to read? the only assembly I have read is MIPS's18:00
ConXand there are quite a lot I am not familiar with18:01
stekernapart from the instruction set, it shouldn't be much different from mips18:04
stekernhere's a comparison from a simple hello_world:
stekernbiggest difference is the $ prefix infront of registers, and that we are not using aliases for registernames such as ra, fp, sp18:12
ConXthanks stekern18:15
ConXdo you know why I am getting a "undefined reference to `r0'18:16
ConX" error when trying to compile an assemly code18:16
ConXI am also quite confused of how #define works in a .S file18:22
stekernConX: can you paste the code where you get the undefined reference?19:06
stekernConX: for #define to work, you have to run the file through a preprocessor. that is automatically done when you use gcc as a shell to assemble19:18
ConXstekern: sorry I was afk!19:29
stekernnp, we are all kind of slow responders in this chan :)19:31
ConXI just use a "l.sw 0x4904(r0), r4"19:33
juliusbstekern: ah, just the man i'm looking for - I've been stuff around with the Linux dynamic loader on my machine today19:37
juliusbas you're someone who's recently played with this stuff, I'm wondering if you could give me some pointers19:37
juliusbim on some ancient RHEL5 machine19:37
juliusband am trying to install a new glibc so i can run Chrome19:37
juliusbturns out the loadero n this guy is so old it doesn't recognise the new GNU/Linux ELF ABI, only the old System V one19:38
juliusband I'm trying to switch over to using the new glibc for recent apps but the loader is just too old19:38
juliusbso, I'm wondering how I can debug exactly a) what loader is being used and b) what it's doing19:38
juliusbI have run with LD_DEBUG=all on and can see what's going on in terms of the libraries etc19:39
juliusbbut it doesn't tell me which loader is being used. I am not so foolish as to move/delete the /lib/ld-2.5.so19:39
juliusbthe new loader is in /new/lib/ld-2.14.so19:40
juliusbbut if I unlink the symlink from /lib/ to /lib/ and make it point to /new/lib/ it appears to still use the old guy19:40
juliusbif I then run ldconfig it just undoes the link of /lib/ to /new/lib/ and reverts it back to the old one19:41
juliusbso, my next guess would be to just move the /lib/ guy somewhere else, but am wondering if that will just screw me royally and require a me to boot off a live CD and restore it?19:42
juliusbit seems like somewhere, somehow, the system knows that /lib/ is the linker and there shall be no others19:42
juliusbsorry, the loader, not linker19:42
juliusbdynamic loader19:42
juliusbanyway, I figured you were up to your neck in this stuff recently, and I presume wrote the loader for or1k, if you can advise :)19:43
stekernConX: weird, that should work..19:52
stekernjuliusb: you could try if the ld supports running as standalone19:53
stekernthen you could run your exe with my.exe19:53
juliusbyes I can do that and it appears to work (ie uses the new glibc, LD_DEBUG=all tells me this) but it'll then say, invoke a shell which'll go back to using the old loader and then it'll use the new glibc and break19:55
juliusbi sort-of need some way of setting a variable or something which can only be temporary and will use a different loader19:55
stekernhmm, sounds tricky ;)19:59
stekernConX: what toolchain are you using?20:01
stekernjuliusb: what happens if you add /new/lib to your LD_LIBRARY_PATH before you run chrome?20:15
juliusbwell, i'm trying to install it from a package20:17
juliusbthe loader just dies, however, whenever I try to do anything with /new/lib in LD_LIBRARY_PATH, because it doesnt support the ABI20:17
juliusbmmm, also because I haven't isntalled glibc via the approved RPM way, it somehow thinks I still don't have it20:19
stekernI assume just updating the whole machine isn't an option? =)20:22
juliusbnah not yet :(20:24
juliusbit's a machine I will need to keep largely compatible with our network20:25
juliusbi could reinstall if I wanted20:25
juliusbso the google-chrome executable is just a bash script20:25
juliusband that calls other stuff, like readlink, dirname, and that clearly uses the other loader20:25
juliusbi'm very tempted to just copy the new loader over the old one20:26
juliusbif i only had some sort-of backup20:26
juliusbapparently sash, or statically linked shell, is a good thing to have20:26
juliusbit has cp built in etc20:26
juliusbmaybe i'll do that20:26
juliusbor busybox?20:26
stekernwhat happens if you run the new linker on an old application?20:27
juliusbyeah I think it works fine20:27
stekernthen it probably works copying over the old20:28
juliusbbig gamble :)20:28
stekernis it a big deal to boot off a livecd? :)20:29
juliusbno not really but a bit embrassing :)20:29
juliusbummm busybox appears to work20:29
juliusbi have it installed for somer eason20:29
juliusblike, native busybox20:29
juliusb ldd /sbin/busybox20:29
juliusb        not a dynamic executable20:29
juliusbthat sounds good20:29
stekernyup, then you should be able to copy back with that20:31
juliusbhere goes20:31
* juliusb holds his breath20:31
juliusbluckily ldconfig is also statically linked20:32
juliusbalthoug, I guess it has to be20:32
juliusbok it appears when you put in a new loader, say from /new/lib/ it then doesn't search places like /lib /usr/lib etc20:40
juliusbso you have to put them into the LD_LIBRARY_PATH20:40
ConXstekern: $or32-elf-gcc version or32-elf-gcc (OpenRISC 32-bit toolchain for or32-elf (built 20110410)) 4.5.1-or32-1.0rc421:22
juliusbnup, couldn't get my trick to work in the end, chrome started, but then just hang on something21:56
juliusbthen all sorts of other system things started to break, like couldn't login anymore, weird behaviour from some tools21:57
juliusbsudo stopped working, for isntance21:57
juliusbprobably not what you want21:57
ConXstekern: it's ok now! it was my (syntax) fault23:06

Generated by 2.15.2 by Marius Gedminas - find it at!