Hello,
I am impressed, because it is not easy to write a ELF runtime link editor, and more difficult to build a ELF to COFF conversor on the fly...
I am working with ELF at low level from six months ago and it is not an easy task, because there are not too much tutorials about ELF... only specs and some articles...
My recommended bookmarks are:
- The System V ABI Specification (ELF Specs). A "must read" if you plan to do anything with ELF http://www.caldera.com/developers/devspecs/ http://www.caldera.com/developers/gabi/
- How to use dl_open interface. It is not part of ELF specs, but it's found in any modern Un*x. http://docsrv.sco.com:8457/en/DevelopLib/dl-libraries.html
- A Phrack article talking about using ELFsh and manipulating ELF files. http://www.phrack.org/show.php?p=61&a=8
- The Linux GCC Howto. Explains some details about dynamic loading. http://www.linuxdocs.org/HOWTOs/GCC-HOWTO/
- ELFsh. The ELF shell is an interactive, modular and scriptable ELF (Executable & Linking Format) machine designed for executable files, shared libraries and relocatable ELF objects manipulation. Interesting source code. http://elfsh.segfault.net/
- The LSB. Explains some details about ELF on Linux. If you are planning to support ELF you must deal with the same ELF format of Linux. http://www.linuxbase.org/spec/
- One of the most important: Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification: http://www.x86.org/ftp/manuals/tools/elf.pdf
- This is very interesting. It shows what is important in the ELF headers: http://www.comms.scitech.susx.ac.uk/fft/programming/teensy.html
Luck! Gerardo García Peña
art yerkes wrote:
Please post a tutorial (or link) on building elf exes.