>>> On 12.08.11 at 19:53, "H.J. Lu" <hjl.to...@gmail.com> wrote: > For R_X86_64_64 relocation, if addend is 0, linker will > turn it to R_X86_64_32 and zero-extends it to 64bit. Otherwise,
Rather odd a treatment, especially since at the source level one can't necessarily control the addend emitted. > linker will generate R_X86_64_RELATIVE64 if it is a relocation > against a local symbol or keep R_X86_64_64 for relocations > against external symbols. We need R_X86_64_RELATIVE64 > since R_X86_64_RELATIVE only updates 32bit destination. > I can't see how this deals with the example I gave, but I guess I should first try it out before complaining... Jan