r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Red] Red language group

Dockimbel
27-May-2011
[1659]
Displays all the banners, but seg fault on exiting.
Andreas
27-May-2011
[1660]
anything in the kernel log?
Dockimbel
27-May-2011
[1661x5]
uploading a screenshot...
http://static.red-lang.org/tmp/syllable-hello.png
The error is: 
Error: sys_open() failed to dup path
Invalid pagefault at 000000ec (NOTP:WRITE:USER)
Got to go, will be back in an hour.
Kaj
27-May-2011
[1666x8]
I think right-clicking in the browser would work
My NginX configuration probably serves it as default text
One of the syscalls has a different number on Syllable, probably 
exit. I'll check
The screenshot is awesome :-)
exit is syscall 5 instead of syscall 1 on Linux
I've taken over Andreas' changes, corrected the runtime syscall, 
and uploaded new empty, hello, reply-server and request-client
The latter won't find the 0MQ library, but will show how that works 
on Syllable
My nginx.conf has default_type application/octet-stream; by the way
Andreas
27-May-2011
[1674]
could you paste a `readelf -a` of some small system binary somewhere?
Kaj
27-May-2011
[1675]
Will do
Dockimbel
27-May-2011
[1676x3]
New hello still segfaults.
Program counter address: EIP = 1234567a
EAX = 000000ec (seems that dereferencing EAX is what caused the error)
Kaj
27-May-2011
[1679]
I was afraid syscalls would be more problematic. What calling convention 
do you use for them?
Dockimbel
27-May-2011
[1680x2]
Let me see that...
1st argument => EBX
2nd argument => ECX
3rd argument => EDX
...
syscall ID => EAX
INT 0x80
Kaj
27-May-2011
[1682x3]
What is that called?
Linux is using SYSENTER/SYSCALL, but Syllable still uses int 0x80:
http://development.syllable.org/news/2009-05-24-16-19-Memory-mapped-input-output-implemented.html
Dockimbel
27-May-2011
[1685]
I can't find the source document anymore, I remember that it was 
the standard Linux way (pre-SYSENTER).
Kaj
27-May-2011
[1686]
I thought so, considering that Hello works to my surprise :-)
Dockimbel
27-May-2011
[1687]
Is there a native code debugger on Syllable/Desktop?
Kaj
27-May-2011
[1688x3]
GDB, but it's possible that the current port doesn't work. It's in 
the Developer's Delight pack:
http://web.syllable.org/Syllable/downloads.html#packs
There's also strace
Dockimbel
27-May-2011
[1691]
I have use this document (among other sources) for implementing syscalls 
support for Linux: http://www.win.tue.nl/~aeb/linux/lk/lk-4.html
(See 4.3)
Kaj
27-May-2011
[1692x3]
Ah, Eindhoven University :-)
GDb and strace are treated in here:
http://development.syllable.org/documentation/introduction/part-1.html
Dockimbel
27-May-2011
[1695x2]
Using strace -o -r hello, I get in the logs:
---->> 406 = Fork ("<NULL>'")
Invalid pagefault at 000000ec (NOTP:WRITE:USER)
Kaj: web.syllable.org is displaying an AccessDenied error message
Kaj
27-May-2011
[1697]
Yes, it's Amazon S3. You need to use the official URLs: syllable.org 
or web.syllable.org/pages/index.html
Dockimbel
27-May-2011
[1698]
Won't have time tonight for a debugging session, will look into it 
later next week.
Andreas
27-May-2011
[1699]
syscalls will probably be gone soon anyway :)
Kaj
27-May-2011
[1700]
How is that?
Andreas
27-May-2011
[1701]
i think we'll switch to libc once dynlinking works for elf
Kaj
27-May-2011
[1702x2]
You'll still need prolog and epilog syscalls, and I think Doc wants 
to minimise libc usage
I agree that it's almost unavoidable, though
Andreas
27-May-2011
[1704]
what prolog/epilog syscalls?
Kaj
27-May-2011
[1705]
exit for example
Andreas
27-May-2011
[1706]
why not use libc exit?
Kaj
27-May-2011
[1707x2]
Ah, you're right
Anyway, I do greatly value the capability of syscalls. I'll also 
need them for close Syllable integration