Software Engineering Conference, Australian (1997)
Sept. 28, 1997 to Oct. 2, 1997
David Ung , University of Queensland
Cristina Cifuentes , University of Queensland
A loader is a systems program used by an operating system (OS) to load a binary executable file onto memory to execute it. The internal format of a binary executable file is called the binary-file format (BFF); this format is dependent on the OS and the particular computer architecture it runs on. Traditionally, when developing machine-code manipulation tools such as binary translators and disassemblers, developers need to write a decoder for each type of binary executable file they want to manipulate, i.e. for n different binary executables, they need to write n different loaders. With the advent of binary translation technology and the increased number of machines and operating systems, a retargetable loader (RL) would eliminate the effort required in creating different loaders; if only one such environment existed. SRL, a simple retargetable loader, is a first attempt at developing an RL framework by means of a simple BFF grammar. Three different environments, (x86,DOS,EXE), (x86,Windows,NE) and (Sparc,Solaris,ELF), were used as the basis for the development and testing of SRL. The three environments give a good coverage of different BFFs currently in use by OSs for RISC and CISC machines.
C. Cifuentes and D. Ung, "SRL 3/4—A Simple Retargetable Loader," Software Engineering Conference, Australian(ASWEC), Sydney, AUSTRALIA, 1997, pp. 60.