On Mon, Feb 21, 2011 at 12:04 AM, Jan Beulich <jbeul...@novell.com> wrote: >>>> On 18.02.11 at 18:53, "H.J. Lu" <hjl.to...@gmail.com> wrote: >> How about only allowing REL relocations in executables and DSOes? > > That'd be at least part of it, but I'd still prefer not forbidding them > altogether, but also not requiring an implementation to support > them (just to repeat it - in a long abandoned new OS of ours we > had ignored the forbidding, and allowed REL in relocatable objects > [which were the only objects used there, the loadable ones > distinguished from "normal" ones by the presence of some OS- > specific data structures], with the static linker picking the type > depending on the module's needs). >
I updated x32 psABI draft to version 0.3 with --- The AMD64 LP64 ABI architecture uses only Elf64_Rela relocation entries with explicit addends. The r_addend member serves as the relocation addend. The AMD64 X32 ABI architecture uses only Elf32_Rela relocation entries in relocatable files. Relocations contained within executable files or shared objects may use either Elf32_Rela relocation or Elf32_Rel relocation. --- which is similar to ia64 psABI where rel relocations are only allowed within executable files or shared objects. H.J.