The patch looks nice and clean. However, it does not relocate the symbol
table(s) values. I thought that was done in an earlier version of this I
saw, but I might be misremembering. Though not fatal, this is a regression
from the previous CONFIG_COMPAT_VDSO behavior. It will show up in things
Roland McGrath wrote:
The patch looks nice and clean. However, it does not relocate the symbol
table(s) values. I thought that was done in an earlier version of this I
saw, but I might be misremembering. Though not fatal, this is a regression
from the previous CONFIG_COMPAT_VDSO behavior.
+static __cpuinit void reloc_dyn(Elf32_Ehdr *ehdr, unsigned offset)
+{
+ Elf32_Dyn *dyn = (void *)ehdr + offset;
+
+ for(; dyn-d_tag != DT_NULL; dyn++)
+ switch(dyn-d_tag) {
+ case DT_PLTGOT:
+ case DT_HASH:
+ case DT_STRTAB:
+
Jeremy Fitzhardinge [EMAIL PROTECTED] 05.04.07 09:31
Jan Beulich wrote:
While there's a certain level of control on what DT_* may appear in the
vDSO, not even considering other than the above types seems fragile to
me. Since future additions to the set are supposedly following a fixed
scheme
: Thursday, April 05, 2007 2:32 PM
To: Jan Beulich
Cc: Ingo Molnar; Andrew Morton; virtualization@lists.osdl.org; Roland
McGrath; Andi Kleen; lkml; Zachary Amsden; Eric W. Biederman
Subject: Re: [patch 1/2] Relocate VDSO ELF headers to match mapped
location with COMPAT_VDSO
Jan Beulich wrote:
While
In addition to Roland's remarks about missing symbol table relocation, I
would also assume section headers, if present, should be relocated.
Yes, and also the .symtab as well as .dynsym just in case one ever has one
(though I think they are built stripped now, it's not hard to check sh_type
for
I did the second patch because I could, and to see if it would provoke
some comment. But effectively removing a kernel config option seems
like a good idea to me.
Well, it provoked me to care whether the first patch the relocation
really right.
Thanks,
Roland
Roland McGrath wrote:
In addition to Roland's remarks about missing symbol table relocation, I
would also assume section headers, if present, should be relocated.
Yes, and also the .symtab as well as .dynsym just in case one ever has one
(though I think they are built stripped now, it's
+ for(; dyn-d_tag != DT_NULL; dyn++)
+ switch(dyn-d_tag) {
+ case DT_PLTGOT:
+ case DT_HASH:
+ case DT_STRTAB:
+ case DT_SYMTAB:
+ case DT_RELA:
+ case DT_INIT:
+ case DT_FINI:
+