CVSROOT: /cvs
Module name: src
Changes by: [email protected] 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@