Sugumar’s Internet
Homepage |
|
Hey
You!! Please visit my new website www.sugumar.com |
|
Wednesday,
August 13, 2003 Last couple of days I am busy with Object File Formats. I downloaded The Relocatable Object Module Format Specification, V1.1 the 32-bit Relocatable Object Module Format standard. It is published and controlled by the Tool Interface Standards (TIS) Committee. Toolkit Interface Standards (TIS) is an association of members of the microcomputer industry formed to work toward standardization of the software interfaces visible to development tools for IA32. Such interfaces include object module formats, executable file formats, and debug record information and formats. The specification is compiled from many source documents. The MS-DOS Encyclopedia by Microsoft Press, the PharLap 386/Link, Reference Manual, the Intel 8086 object module specification (Intel Technical Specification, 121748-001), the IBM OS/2 16/32-bit Object Module Format (OMF) and Linear eXecutable, Module Format (LX), Revision 7 (dated April 24, 1993), and internal Microsoft documents. TIS quotes that it had solved the conflicts in the source documents. The specification is not applicable for vendors choosing to build products with the Executable and Linkable Format (ELF), because ELF is both a linkable and loadable specification. Think I will have to study The Executable and Linkable Format Specification V1.1 also. I wrote a tiny
program which decodes an object file and outputs the contents in a readable
text format. I am writing a book on C. And this is very useful for that. I
know plenty of books have been written on C programming. And mine will be for
C programmers. |
Saturday,
August 9, 2003 I was searching
for a C/C++ compiler, which is free, flexible and suitable for PreOS
Application development. I came across DJGPP last week. What is DJGPP ? DJGPP
is a 32-bit
protected mode target capable C/C++ (gcc)
compiler. It brings vast libraries
of functions to handle almost everything. It is free. But DJGPP uses AT&T x86 Asm syntax.
It is different from that of Intel. It is like using assembly language
in Linux. Inline
assembly syntax is also different from Intel Assembly Syntax. I am used
to Intel assembly syntax. Even though tools are available to convert AT&T Asm to Intel
Asm, I guess I am giving up DJGPP for now. May be I will come to it
later. My search is for
a C/C++ Compiler and Linker which can result in a completely OS
Independent/Free Intel target Code. Some examples include PCI OPTION ROMs,
Firmware modules for NIC/RAC, BIOS, OS API Extensions, or a new OS Kernel. Then I
came across Linux
Intel Assembly Language Syntax, and the Netwide Assembler. I
downloaded the free NASM download
from SourceForge. So as of now it looks
like the following three tools will work for me. NASM – Compile
assembly sources and generate .OBJ files Search doesn’t
end here. I require additional Preprocessor/Postprocessor to get target
binary as a OPTION ROM/Firmware Module/BIOS/etc. Either will find/write them.
The philosophy goes like this. Always search for one, if it doesn’t exist or
not suitable, make one. And see the
picture. I got it from Sumanth. I yelled in excitement. |
Thursday
July 31 2003 |
Last updated date - Wednesday, September 3,
2003 |