Re: [patch 1/2] Relocate VDSO ELF headers to match mappedlocation with COMPAT_VDSO

From: Jan Beulich
Date: Thu Apr 05 2007 - 03:46:29 EST


>>> Jeremy Fitzhardinge <jeremy@xxxxxxxx> 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 (distinguishing pointers and values via the low bit when below
>> OLD_DT_LOOS, and using sub-ranges when between DT_HIOS and
>> OLD_DT_HIOS), at least also handling those would seem like a good
>> idea, as would warning about unrecognized types.
>
>I wasn't aware of this scheme. Where is it documented?

Regarding the low bit part, quoting from working gABI chapter 5: "To make
it simpler for tools to interpret the contents of dynamic section entries, the
value of each tag, except for those in two special compatibility ranges, will
determine the interpretation of the d_un union. A tag whose value is an
even number indicates a dynamic section entry that uses d_ptr. A tag
whose value is an odd number indicates a dynamic section entry that uses
d_val or that uses neither d_ptr nor d_val. Tags whose values are less
than the special value DT_ENCODING and tags whose values fall between
DT_HIOS and DT_LOPROC do not follow these rules."

Regarding the OS range, all I can point you to is binutils' include/elf/common.h.

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