Re: [Fastboot] [CFT] ELF Relocatable x86 and x86_64 bzImages

From: Vivek Goyal
Date: Thu Aug 10 2006 - 09:11:35 EST


On Thu, Aug 10, 2006 at 12:09:56AM -0600, Eric W. Biederman wrote:
> Don Zickus <dzickus@xxxxxxxxxx> writes:
>
> >> Looking at my build it appears bytes_out is being placed in the .bss.
> >> A little odd since it is zero initialized but no big deal.
> >> Could you confirm that bytes_out is being placed in the .bss section
> >> by inspecting arch/x86_64/boot/compresssed/misc.o and
> >> arch/x86_64/boot_compressed/vmlinux. "readelf -a $file" and then
> >> looking up the section number and looking at the section table to see
> >> which section it is was my technique.
> >>
> >> If bytes_out is in the .bss for you then I suspect something is not
> >> correctly zeroing the .bss. Or else the .bss is being stomped.
> >>
> >> I'm not certain how rep stosb can be done wrong but some bad pointer
> >> math could have done it.
> >>
> >> Eric
> >
> > It seems Vivek came up with a solution that works. He sent it to me this
> > morning. We tested a bunch of machines and things seem to work now. It
> > looks like it mimics the i386 behaviour now.
>
> Yes, this looks right. It looks like I forgot to make this change when
> the logic from i386 was adopted to x86_64, ages ago.
>
> This is exactly the place in the code I would have expected a bug
> from the symptoms you were seeing.
>
> Thanks all I will include this in my version of the patches.

Apart from this I think something is still off on x86_64. I have not
been able to make kdump work on x86_64. Second kernel simply hangs.
Two different machines are showing different results.

- On one machine, it seems to be stuck somewhere in decompress_kernel().
Serial console is not behaving properly even with earlyprintk(). Somehow
I feel it is some bss corruption even after my changes.

- Other machines seems to be going till start_kernel() and even after
that (No messages on the console, all serial debugging) and then
either it hangs or jumps back to BIOS.

Will look more into it.

Thanks
Vivek

-
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/