#milkymist IRC log for Thursday, 2012-07-12

Jiaxiangfu: May you test 4.6.3?01:01
GitHub14[scripts] xiangfu pushed 1 new commit to master: http://git.io/We-DfQ01:01
GitHub14[scripts/master] lm32 toolchain: update binutils, gdb, newlib - Xiangfu Liu01:01
xiangfuJia, compiling ...01:26
Jiaxiangfu: thanks01:28
stekernis it just me, or isn't the lm32 C ABI "properly" documented anywhere?02:19
GitHub33[scripts] xiangfu pushed 1 new commit to master: http://git.io/Ls1zAQ02:20
GitHub33[scripts/master] fix typo - Xiangfu Liu02:20
Jiaxiangfu: Is it OK?02:21
xiangfuJia, no. it have error when compile flickernoise.02:22
xiangfuJia,  I have sent one email to mailing list. attach the error message.02:22
Jiaand, do you make sure 4.5.4 is OK?02:22
xiangfuJia, do you know the "r isn't the lm32 C ABI "properly" documented anywhere?"02:22
xiangfuJia, I make sure that gcc4.5.3 works just fine02:23
Jiaxiangfu: 4.5.3 works fine with rtems?02:24
xiangfuJia, yes.02:24
Jiagive me hours...02:25
Jia4.5.4 have the same bug with 4.6.3, another bug...02:27
qi-botThe firmware build was successful, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120712-0307/02:52
stekernI'm mostly interested in how aggregates are passed by value, but it looks like it is passed in registers if it fits and on stack if it doesn't02:54
stekerni.e. it's never split between registers and stack02:55
wpwrakpassing structs seems to be hard to grok. i remember a project a long time ago, where the stack aligned got out of sync after passing a struct. that was with a proprietary compiler. took us a while to realize what was going on. then we wrote them a nice long bug report with examples.02:57
stekernseems like there is a lot of variation between architectures what the calling convention for it is03:01
wpwrakthey responded with a workaround that indeed made our examples work but did nothing about fixing the bug. so we made a trivial change, watched it fail again, and sent them the updated bug report. then, silence. for months. (well, not exactly silence, of course, there had been increasingly heated communications between managers.)03:01
wpwrakstill ... it's not *that* difficult ;-)03:03
stekernyeah, agree ;)03:04
wpwrakback then, we jokingly proposed to just buy the company that made that compiler, so that we could force them to fix the bloody thing. our project was pretty big, with its value probably significantly exceeding the value of that company.03:05
stekernso, did they fix it in the end?03:17
wpwrakah yes, they first fixed it in their sun version and were eventually pressured to also fix it in their r6000 version. (the client company was IBM, so it had to be a weird platform :)03:22
xiangfuJia, the 4.5.4 works just fine. with RTEMS/FLickernoise.03:22
GitHub186[scripts] xiangfu pushed 1 new commit to master: http://git.io/Fc6xOw03:23
GitHub186[scripts/master] lm32 toolchain: update gcc to 4.5.4 - Xiangfu Liu03:23
Jiaxiangfu: 4.6.3 I fixed generate the same code as 4.5.4, it must be another bug...03:24
Jiaxiangfu: http://paste.ubuntu.com/1087277/03:25
stekernJia: the generated code isn't _excactly_ the same, notice the extra "add      fp, fp, sp" before calli bar in 4.5.403:31
Jiastekern: yeah, I knew that, maybe it is the other bug, and I'm analyze lm32.md03:32
stekernah, but the result seems to be the same still03:32
Jiasome one commit a wrong patch without test!03:33
Jiaif lm32 port maintainer is 'strong', it won't happen03:33
stekernJia: but 4.5.3 seems to generate the same code as 4.5.4 as well03:38
Jiastekern: yeah, 4.6.0 generate diff code.03:44
Jia-       addi     fp, r0, 1203:45
Jia-       add      fp, fp, sp03:45
Jia+       or       fp, sp, r003:45
Jia+       addi     fp, fp, 1203:45
stekernbut what is the problem with the generated code, is it triggering some test to fail?03:46
stekernI mean, both versions do the same thing: fp = sp + 1203:47
Jialm32 has no testcase for target...03:48
stekernah, sorry didn't read what you wrote earlier properly, 4.5.4 and 4.6.3 produce the same code, thus the problem with 4.6.3 must be something else ;)03:55
Jiastekern: sorry, I'm not sure about lm32-asm, is this the same effect? http://paste.ubuntu.com/1087296/03:59
Action: Jia is try milkymist script by xiangfu, and test rtems in my machine.04:07
qi-botThe MMU firmware build was successful, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-mmu-20120712-0452/04:11
stekernJia: yes, they are eqvuivalent (fp = 12; fp = fp + sp; vs fp = sp; fp = fp + 12 => fp = sp + 12)04:12
Jiastekern: so, it must be something else wrong, that is another bug.04:13
Jialots of bugs behind one bug ...04:14
qi-botThe firmware build was successful, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120712-0631/06:15
JiaI think I find it, but not the reason. This bug is there so looooooooooooooooong a time, legitimate never be used in 4.5, it is opened in 4.6, so, it buged.06:25
Jialekernel: clang -O2 -Wall -I. -s -o bin2hex bin2hex.c,      is this clang lm32-clang or x86-clang?06:28
Jiaxiangfu: make -C /opt/milkymist/milkymist/tools use clang, is it x86-clang?06:30
Jiax86-clang get a error http://paste.ubuntu.com/1087449/06:31
Jiaplease anyone tell me where is gd.h?06:47
xiangfuJia, you are miss one package.06:54
xiangfuJia, install 'libgd2-noxpm-dev'06:57
Jiaxiangfu: oh, thx!07:05
Jiaxiangfu: 4.6.3 generate same code as 4.5.4, and, the legitimate_constant_p never run in 4.5.4! so, it is maybe two bugs.07:06
Jiaxiangfu: is make -C compile-flickernoise flickernoise.fbi test lm32-gcc to me?07:14
qi-botThe MMU firmware build was successful, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-mmu-20120712-0815/07:16
Jiathanks, I think I got how to test lm32-gcc07:16
Jiaxiangfu: http://paste.ubuntu.com/1087516/  it need avr-gcc???!!! I''m confused07:29
lekernelstekern: it's not documented properly07:35
lekernelJia: clang is the same binary for all architectures, if you don't use options like -ccc-host-triple it's often x86 by default07:37
Jialekernel: to be honst, I use clang for mips64, is my job, and I used your patch to make mips64 default07:38
Jiaso I don't use --ccc-triple any longer07:38
Jialekernel: and may you help me at http://paste.ubuntu.com/1087516/ it is too strange to me.07:41
FallenouJia: we use avr-gcc too, because there is an AVR softcore in milkymist as well07:42
Fallenouthe purpose of this AVR softcore is to handle USB. it's basically a soft usb host07:42
JiaFallenou: may I disable it?07:43
Jiaor is there a avr-gcc bug to be fixed :)07:43
lekernelJia: apt-get install gcc-avr07:44
Jialekernel: big thanks!07:44
Jiait spend me almost one hour to download gcc-avr08:25
Fallenoushitty connexion08:49
qi-botThe firmware build was successful, see images here: http://fidelio.qi-hardware.com/~xiangfu/build-milkymist/milkymist-firmware-20120712-0956/09:40
Jiafreetype dl error, I'll try it again back home10:02
xiangfuJia you can also try to download it here: http://fidelio.qi-hardware.com/~xiangfu/milkymist-firmware/scripts/compile-flickernoise/dl/10:06
stekernhum hum, I stumbled upon another llvm bug when I was poking at the byval bug10:57
stekernthe maximum call frame size is added to the total frame size in two different places10:58
lekernelstekern: can you please send your findings to the list? JP Bonn (the main author of the port) is on it11:07
stekernlekernel: yeah, I'll send the patch that fix that and the byval fix (when I'm done with that)11:16
Jiahi all errors  http://paste.ubuntu.com/1087929/13:10
Jiaxiangfu: It looks like 4.5.4 get this error  http://paste.ubuntu.com/1087929/13:11
JiaFallenou: hot heart man, are you there?13:12
Action: Jia shower... will be to here soon13:14
lekernelthis has nothing to do with GCC13:15
lekernelit's a RTEMS problem13:16
lekernelhttp://www.rtems.com/ml/rtems-users/2011/december/msg00088.html which is lost in slowland13:16
stekernI hope the shower comment and the call for Fallenou is completely unrelated... ;)13:16
lekernelJia: https://www.rtems.org/bugzilla/show_bug.cgi?id=203013:18
lekernelJia: if you use xiangfu's build script, it should patch it automatically (afaik)13:20
Action: Fallenou hides13:28
FallenouJia: hey, yes I'm here13:29
Jialekernel: I'm using xiangfu's script13:42
Jiabut I don't know why it failed :(13:42
JiaFallenou: hi I'm back :)13:43
Action: Jia cleaning and waiting bew make -C xxxxxxx13:45
Fallenouhi back13:47
JiaI get 3 patches13:49
Jiajansson-0001-for-milkymist-one.patch.patch  openjpeg-0001-for-milkymist-one.patch mupdf-0001-for-milkymist-one.patch13:49
Jiaare there all? lekernel13:49
Jiahttp://paste.ubuntu.com/1087992/   did I miss some patch?13:53
lekernelI think so13:59
lekernelI don't see a patch that touches RTEMS here13:59
lekernelthis is the particular one you need: http://projects.qi-hardware.com/index.php/p/wernermisc/source/tree/master/m1/patches/rtems/export-shell-fns.patch14:00
lekernelbut there are others14:00
Jialekernel: how I can get them, manaul or some auto way?14:01
lekernelclone the git repository and use quilt14:02
lekernelbut xiangfu's script really should do that for you14:02
lekernelI don't know why it seems not to work for you14:02
Jiaquilt?! I didn't install on my system ,is it the problem?14:03
lekernelprobably not, or at least I hope that xiangfu's script give you an error in this case instead of silently failing14:04
JiaI'm afarid not.14:05
Action: Jia will delete all files and restart over...14:05
Fallenouhehe, hard to get one's environment up and running to compile firmware :)14:12
Jiait really spend time...14:13
Fallenouthat's the same pain for every project unfortunately14:14
Fallenou(embedded project)14:14
Fallenouyou need toolchains, packets, dependencies etc14:15
JiaI still get just 4 patches...14:15
Fallenoupatches sometimes14:15
JiaI write a script for our proj(my job), and I FORECE all of employee use rhe same environment14:16
JiaIt is really a trouble14:16
Fallenouwe had troubles here when upgrading our ubuntus =)14:17
Jiaembedded projects are all messsssssssssss14:18
lekernelJia: check how xiangfu's script is patching rtems...14:24
Action: Jia open and start reading xiangfu's *.sh14:25
lekernelJia: also, gcc has a test suite which could give more exhaustive/better coverage than just trying to run existing software. I have never used it though.14:25
lekernelsame for clang/llvm14:25
Jialekernel: may you tell me witch script?14:25
Jialekernel: gcc testsuit need a native run... I think14:26
Jiacompile-milkyminer-firmware.sh  compile-openwrt-milkymist.sh  format_memcard.sh14:26
Jiacompile-milkymist-firmware.sh   flash_jtag.sh                 reflash_m1.sh14:27
Jia6 .sh14:27
lekernelJia: https://github.com/milkymist/scripts/blob/master/scripts/compile-milkymist-firmware.sh#L5714:27
lekernelcheck that this stuff is run and works14:28
Jiamaybe is it PATCH_OPENWRT_SH="/home/xiangfu/bin/patch-openwrt.sh"14:28
lekernelthere's no openwrt here14:28
lekernelit's https://github.com/milkymist/scripts/blob/master/scripts/compile-milkymist-firmware.sh#L5714:28
Jialekernel: OK. I'll looking it when make14:28
lekerneland yes it seems you need to install quilt14:29
JiaI've installed it this time...14:33
sh4rm4quilt seems to be a relic from the pre-git era14:49
lekernelsh4rm4: up until recently, RTEMS was using CVS14:50
Jialekernel: need I install cvs?14:51
Fallenourtems now is using git14:52
Fallenouyou should be ok with git I think14:52
JiaI have git .....14:53
GitHub186[migen] sbourdeauducq pushed 2 new commits to master: https://github.com/milkymist/migen/compare/eed8fa374d87...c543edf6f36a16:37
GitHub186[migen/master] corelogic: reorder buffer (untested) - Sebastien Bourdeauducq16:37
GitHub186[migen/master] actorlib/dma_asmi: out-of-order reader and class factory - Sebastien Bourdeauducq16:37
lekernelrunning the framebuffer (using dataflow) at 32bpp on the new memory system :) there is a bunch of bugs, but I start to get a picture :)16:45
GitHub32[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/uaqGtg16:59
GitHub32[milkymist-ng/master] framebuffer: use ASMI reader factory - Sebastien Bourdeauducq16:59
Jiaif [ ! -e ${MILKYMIST_GIT_DIR}/wernermisc ]; then17:17
Jiashould be           if [ -e ${MILKYMIST_GIT_DIR}/wernermisc ]; then               ?17:18
GitHub125[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/8062e48697bba406f3ab8edec1357e9175b7d73917:41
GitHub125[migen/master] bus/asmibus: fix per-port tag generation - Sebastien Bourdeauducq17:41
GitHub42[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/bByzTQ17:43
GitHub42[milkymist-ng/master] top: use two slots for the framebuffer ASMI port - Sebastien Bourdeauducq17:43
GitHub49[migen] sbourdeauducq pushed 1 new commit to master: https://github.com/milkymist/migen/commit/a55fee78d282b592518446270aa47c627d5d9c9c17:48
GitHub49[migen/master] examples/dataflow/dma: test OOO ASMI reader - Sebastien Bourdeauducq17:48
lekernel2 more bugs to go17:52
GitHub129[milkymist-ng] sbourdeauducq pushed 1 new commit to master: http://git.io/GLO3NA18:16
GitHub129[milkymist-ng/master] framebuffer: clean shutdown - Sebastien Bourdeauducq18:16
wpwrakwhee ! one more commit until perfection :)18:22
larscbased on the rate of the previous commits we could try to extrapolate this joyful occasion18:31
wpwrakyeah, i'm not sure i'll even have enough time to cool down the champage to an acceptable temperature :)18:33
wpwraki wonder if FN will run with the system sebastien is using. if not, then it'll be a while until we can actually put it to good use. which would be a pity. i have high hopes for video quality with 32 bpp.18:36
stekernwhat's the shortest path to run something like int main(void) { printf("hello world"); } in qemu?18:42
lekernelwith rtems I think18:46
stekernok, without using rtems ;) using the "lib" in bios?18:47
stekernI mean, using the "libs" that bios is using18:49
lekernelif you read french http://lekernel.net/presentations/masteri2l/tp/mmtp_i2l.pdf18:50
lekernelwith http://lekernel.net/presentations/masteri2l/tp/tp_files.tar.bz218:50
stekernmy french is weak ;) but it didn't seem like there wasn't anything I didn't know in there anyways18:57
Jiamake -C compile-flickernoise flickernoise.fbi is BUILD the SW23:26
JiaIf I wanna clean them, how can I make it?23:26
Jiamake -C compile-flickernoise clean23:30
Action: Jia got wrong DIR23:30
--- Fri Jul 13 201200:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!