6 Jan 2005 mathieu   » (Master)

Well, I have always been really interested in low-level system stuff and, specifically, development tools: debuggers, compilers. Recently, having a bit of free time to waste, I started hacking a small debugger. I must say that such projects are always extremely fun because they involve so many different layers of the system and require so much knowledge about arcane parts of the system.

So far, I have written a small elf32 parser which can perform symbol lookups on memory-mapped binary files. I also managed to figure out how to parse the in-memory loader link map. The thread_db library has managed to stay partly a mistery to me: it is not clear exactly what it is supposed to do and why the gdb/nptl developers decided to stick with this ugly interface.

I have yet to interface with ptrace and find a way to access the processor debugging registers. The latter seems to be a bit more complicated since these registers should be accessible only from ring 0 so, I need to figure out how to ask the kernel to do that for me. If you are a kernel developer and if you are reading this, please, tell me why on earth there is no alternative to the fugly ptrace. That thing is, well, really fugly.

Latest blog entries     Older blog entries

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!