K 10 svn:author V 6 grehan K 8 svn:date V 27 2004-07-23T00:46:05.000000Z K 7 svn:log V 569 The ADDR16 relocations were assuming that non-local symbols had an addend of 0. This isn't correct, and was quite easy to break by referring to the address of an element within a structure. However, fixing this exposed the fact that symbol lookups for local variables were returning the base of the section they were contained in. This case is detected by comparing the return value from elf_lookup() to the relocbase+addend value: if it is lesser, but greater than relocbase, then relocbase+addend is taken to be the authoritative value. bug reported by: gallatin END