Kenge kinks - Loading ELF files - Must be able to load 64- and 32-bit elf files - Must link at the correct address: - When linking for Linux, the start address of the text is specified minus the size of the elf header. - Because Kenge maps the ELF directly, this start address is incorrect - we start executing the ELF header. - So we supply a custom linker script that specifies an offset for the start of text. - But if we supply a custom linker script we must also specify other things that would usually be provided by the linker's default link script. Importantly we must specify the start symbol (_start), which is defined in the crt. Otherwise the linker just uses the start of text. (-e _start in ldflags)