CVSROOT: /cvs Module name: src Changes by: guent...@cvs.openbsd.org 2019/08/04 17:51:45
Modified files: libexec/ld.so : resolve.h resolve.c dlfcn.c loader.c libexec/ld.so/aarch64: rtld_machine.c libexec/ld.so/alpha: rtld_machine.c libexec/ld.so/amd64: rtld_machine.c libexec/ld.so/arm: rtld_machine.c libexec/ld.so/hppa: rtld_machine.c libexec/ld.so/i386: rtld_machine.c libexec/ld.so/m88k: rtld_machine.c libexec/ld.so/mips64: rtld_machine.c libexec/ld.so/powerpc: rtld_machine.c libexec/ld.so/sh: rtld_machine.c libexec/ld.so/sparc64: rtld_machine.c Log message: Simplify _dl_find_symbol(). Currently, it returns three values: - the symbol it found, returned via the second argument - the base offset of the the object it was found in, via the return value - optionally: the object it was found in, returned via the last argument Instead, return a struct with the symbol and object pointers and let the caller get the base offset from the object's obj_base member. On at least aarch64, amd64, mips64, powerpc, and sparc64, a two word struct like this is passed in registers. ok mpi@, kettenis@