Skip to content
Linker and loader for elf relocatable files. Developed in C for ARM architecture.
Branch: master
Clone or download
Latest commit e76ecf5 Jan 24, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build Init Jan 24, 2015
doc Init Jan 24, 2015
src Init Jan 24, 2015
testbin Init Jan 24, 2015
testsrc Init Jan 24, 2015
README.md

README.md

linker-and-loader

Linker and loader for elf relocatable files. Developed in C for ARM architecture.

This was a project for the course ”System Programming” on my faculty.

Department of Computer Engineering and Information Theory.

School of Electrical Engineering, University of Belgrade, Serbia.

Developed by Marin Markić. No licence. April - June 2013.

How to use: (see tests)

  • Application works with binary relocatable files in elf format, called program. Application links program with other libraries, performs necessary relocations, loads it to operating memory and executes program code from entry point. Programs are acccepted as ARM assembly or C programs. In case of C program additionally external functions printf and scanf are supported.
  • Use QEMU, machine emulator and virtualizer for ARM architecture on linux. Start application by executing run.sh in bash.

Create binaries:

arm-linux-gnueabi-as test1.s -o test1.o // creates elf from ARM assembly file
arm-linux-gnueabi-gcc -r -c -nostdlib -marm test3.c -o test3.o // creates elf from C file

Pass created .o files to application to execute program with linking and loading.

You can’t perform that action at this time.