Re: [crash, bisected] Re: [PATCH 3/4] x86_64: Fold pda into per cpuarea

From: H. Peter Anvin
Date: Fri Jun 20 2008 - 15:25:05 EST


Jeremy Fitzhardinge wrote:

Its loaded at __per_cpu_load but the symbols have addresses starting at 0.

Yes, which leads to an odd-looking ELF file where the Phdrs aren't sorted by virtual address order. I'm wondering what would happen if a bootloader that actually understood ELF files tried to load it as an actual ELF file...


If it is implemented correctly, it will work. It might trigger bugs in such loaders, however.

Hmmm.... we could add the relocation offset to __per_cpu_load? __per_cpu_load is used very sparingly. Basically only useful during early boot and when a new per cpu area has to be setup. In that case we want to copy from __per_cpu_load to the newly allocated percpu area.

Yes, it should be fairly easy to manually relocate it by applying the (load - link) offset to it.

Seems easy enough, and as already stated, this is not performance-critical so a few extra instructions is pretty much a non-issue.

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