On Fri, Dec 20, 2019 at 04:26:41PM -0500, Ryan Stone wrote: > I've noticed that on head, if I directly execute rtld to run an > executable, AT_EXECPATH contains the path to rtld on head (on > 12.0-RELEASE it will contain nothing). This is causing me a problem > because clang uses AT_EXECPATH to preferentially locate where it's > installed, which it uses to locate its driver programs. > > The end result is that clang can no longer successfully be executed > from a process in capability mode, whereas before I could fexecve rtld > and give it a pre-opened file descriptor to /usr/bin/clang. > > I've put together a quick test program demonstrating the problem: > > https://people.freebsd.org/~rstone/getprogname.c > > On 12.0-RELEASE, directly executing rtld to run this program gives this output: > $ /libexec/ld-elf.so.1 -- ./progname > progname: progname > argv[0]: ./progname > elf_aux_info failed: No such file or directory > > On head, I get this instead: > /libexec/ld-elf.so.1 -- ./progname > progname: progname > argv[0]: ./progname > AT_EXECPATH: /libexec/ld-elf.so.1 https://reviews.freebsd.org/D22894Received on Fri Dec 20 2019 - 21:13:52 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:22 UTC