Difference between vmlinux and vmlinux.bin

From: Timur Tabi
Date: Tue Feb 19 2008 - 17:52:18 EST


I'm trying to write an ELF loader for a PowerPC vmlinux, and I've come across something I don't understand.

In vmlinux, there are two Program Segments, the first of which is PT_LOAD. What is the difference between the block of data inside this section, and vmlinux.bin? I thought that vmlinux.bin is nothing more than the PT_LOAD section of vmlinux. However, when I do a memcmp, there is a difference at offset 3080192 (vmlinux.bin is 4874532 bytes long):

memcmp @ 3080192 125 != 31
32 bytes @ 412f0000:

7d 20 00 28 31 29 ff ff 7d 20 01 2d 40 a2 ff f4
2f 89 00 00 41 9e 01 9c 7f e3 fb 78 4b d7 b0 75
32 bytes @ 42300000:

1f 8b 08 08 b7 e7 7a 44 00 03 62 75 73 79 62 6f
78 2d 31 2e 31 2e 33 2e 69 6d 67 00 ec 5d 7d 74

So when Kbuild creates vmlinux.bin, what does it do besides extract the PT_LOAD segment?

--
Timur Tabi
Linux kernel developer at Freescale
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/