Messages in this thread | | | Date | Fri, 06 Jul 2012 14:53:45 +0100 | From | "Jan Beulich" <> | Subject | Re: [Xen-devel] incorrect layout of globals from head_64.S during kexec boot |
| |
>>> On 06.07.12 at 15:31, Olaf Hering <olaf@aepfle.de> wrote: > On Fri, Jul 06, Jan Beulich wrote: > >> >>> On 06.07.12 at 14:07, Olaf Hering <olaf@aepfle.de> wrote: >> > But adding some debug to inspect >> > *output in parse_elf() shows that the second entry in program headers is >> > already shifted by 44 bytes in my testing, the others are shifted by the >> > same amount. >> >> Unfortunately it's not clear what is shifted - the printout below >> looks just fine. Also, from your first mail I understood that the shift >> there was by an amount not divisible by 4 - does that amount vary? > > The memory location of the second LOAD entry (the .data section) is wrong. > It should be at 0x1c00000, but in fact its content starts at 0x1c0002c. > I looked at the x86 boot code, the vmlinux is gzipped and placed as > binary blob, which is then extracted by decompress().
Are the virtual addresses then offset as well?
Is phdr->p_offset sane?
And you didn't clarify whether the offset was always the same.
Jan
| |