World: r3wp
[Red] Red language group
older newer | first last |
Kaj 27-May-2011 [1610x3] | The browser is easiest |
Or R3 | |
No, that's only on the live CD | |
Dockimbel 27-May-2011 [1613] | Runs but doesn't display anything. |
Kaj 27-May-2011 [1614] | Look at the end of /var/log/kernel |
Dockimbel 27-May-2011 [1615x2] | memmap_instance() RO overlap RW (80000000 + 00001000 -> 80000000) |
ERROR : execve(./hello) failed. Too late to recover, will exit | |
Kaj 27-May-2011 [1617] | That would be the next thing to work on |
Andreas 27-May-2011 [1618] | that sounds like something alignment-related is broken |
Kaj 27-May-2011 [1619] | Alignment should basically be the same as on Linux |
Dockimbel 27-May-2011 [1620x2] | Kaj, what was the link for Syllable's ELF loader source code? |
Just want to have a look at the source, I won't debug it right now, I'm still preparing slides for tomorrow's presentation. | |
Kaj 27-May-2011 [1622x2] | I'll try this again |
Kaj: I tested the new section headers on Syllable Desktop. memmap_instance() RO overlap RW (08048000 + 00001000 -> 08048000)" besides the entry point address being a problem, this could also be due to segment alignment, which we basically ignore, at the moment. could you try changing "page-size: 4096" to "page-size: 1" and see where that gets us?" | |
Dockimbel 27-May-2011 [1624] | Ok |
Andreas 27-May-2011 [1625] | i think syllable just ignored the alignment setting in the elf header last time we tried this |
Kaj 27-May-2011 [1626] | http://syllable.cvs.sourceforge.net/viewvc/syllable/syllable/system/sys/kernel/kernel/elf.c?view=markup |
Dockimbel 27-May-2011 [1627] | Thanks. |
Andreas 27-May-2011 [1628] | line 1111 originates the error |
Kaj 27-May-2011 [1629] | I've uploaded a new empty with page-size 1 |
Dockimbel 27-May-2011 [1630] | Same error. |
Andreas 27-May-2011 [1631x2] | hmm, if syllable ignores the alignment i guess we have to properly align things |
:) | |
Kaj 27-May-2011 [1633] | We can load an awful lot of other software, so it seems prudent |
Andreas 27-May-2011 [1634x2] | in line 183 of formats/ELF.r, change data-ptr: code-ptr + code-size to data-ptr: code-ptr + page-size |
and change back page-size to 4096 before that | |
Kaj 27-May-2011 [1636] | Is that all? |
Andreas 27-May-2011 [1637x3] | (could you please) |
should be a quick way to test this particular problem, yes | |
ah, crap, no | |
Kaj 27-May-2011 [1640] | empty compiles, at least |
Andreas 27-May-2011 [1641] | yeah, but it generates crap :) |
Dockimbel 27-May-2011 [1642] | Andreas, shouldn't it be rather: data-ptr: code-ptr + code-size + (page-size // code-size) |
Andreas 27-May-2011 [1643x4] | yeah, if we want to do proper alignment :) |
but it results in the same problem of generating wrong file offsets | |
(because other code parts re-use data-ptr to calculate the file offset) | |
give me a few minutes, i'll try to generate a binary that has that fixed | |
Kaj 27-May-2011 [1647] | I don't think the GCC folks can do debug cycles this fast :-) |
Andreas 27-May-2011 [1648x3] | you can (it's only C, after all), but you need a quite beefy machine. LLVM (C++) on the other hand ... |
soo, here we go | |
http://bolka.at/2011/tmp/hello | |
Dockimbel 27-May-2011 [1651] | trying... |
Andreas 27-May-2011 [1652] | or if you want to compile the binaries on your own: https://gist.github.com/1bf8d5c54cb630c83d8e |
Dockimbel 27-May-2011 [1653x2] | hmm, the browser don't want to save it to disk, it just displays it as text...I guess it misses a content-type: application/octet-stream... |
Kaj: any workaround? | |
Andreas 27-May-2011 [1655] | http://bolka.at/2011/tmp/hello.bin |
Dockimbel 27-May-2011 [1656x2] | Andreas: you rules! |
Hello is working | |
Andreas 27-May-2011 [1658] | nice :) |
Dockimbel 27-May-2011 [1659] | Displays all the banners, but seg fault on exiting. |
older newer | first last |