marketpaster.blogg.se

Linux-boot.elf
Linux-boot.elf










linux-boot.elf

linux-boot.elf

Just comments put there by the compiler/linker toolchain

linux-boot.elf

Note that depending on the compiler, you may have more sections like this. That's where your strings go, usually the things you forgot when linking and that cause your kernel not to work. there's no point storing more zeroes on your disk than there already are, is it? That's where your uninitialized arrays and variable are, and the loader 'knows' they should be filled with zeroes. process.o will hexdump it.ĭon't look for bits of. We don't have the program entry point, for instance, and we have a sections table rather than a program header.

Linux boot.elf how to#

Here, we have symbol tables and relocation: all that we need to link the file against another, but virtually no information about how to load the file in memory (even if that could be guessed). The 'flags' will tell you what's actually available in the ELF file. Process.o, result of gcc -c process.c $SOME_FLAGSĠ. Note that depending on whether your file is a linkable or an executable file, the headers in the ELF file won't be the same: The ELF file contains headers that describe how these sections should be stored in memory. For an executable program, these are the text section for the code, the data section for global variables and the rodata section that usually contains constant strings. ELF is a format for storing programs or fragments of programs on disk, created as a result of compiling and linking.












Linux-boot.elf