Re: [RFC] ELF Relocatable x86 and x86_64 bzImages

From: Magnus Damm
Date: Tue Aug 08 2006 - 00:54:48 EST

On 8/8/06, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
Horms wrote:
> I also agree that it is non-intitive. But I wonder if a cleaner
> fix would be to remove CONFIG_PHYSICAL_START all together. Isn't
> it just a work around for the kernel not being relocatable, or
> are there uses for it that relocation can't replace?

Yes, booting with the 2^n existing bootloaders.

Relocation, as far as I've understood this patch, refers to loaded
address, not runtime address.

I believe Erics patch implements the following (correct me if I'm wrong):

vmlinux is extended to contain relocation information. Absolute
symbols are used for non-relocatable symbols, and section-relative
symbols are used for relocatable symbols.

bzImage loader:
The bzImage loader code is no longer required to be loaded at a fixed
address. The bzImage file contains vmlinux relocation information and
the bzImage loader adjusts the relocations in vmlinux before executing

So I would say that the runtime address of symbols in vmlinux are
changed by the bzImage loader. Or maybe I'm misunderstanding?

/ magnus
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at