Date: Fri, 20 Dec 2019 14:02:14 -0800 From: Conrad Meyer <cem@freebsd.org> To: Ryan Stone <rysto32@gmail.com> Cc: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: AT_EXECPATH aux_info vector contains path of interpreter when directly exec'ing rtld Message-ID: <CAG6CVpXH%2BAYOq67mOkmTb0XJGGrT7hAcoTETqa_4GagsRREnYQ@mail.gmail.com> In-Reply-To: <CAFMmRNzh2qR1bT%2BvLmCMMXgmYGFCDWDU2rAcpace01H8=SAg_A@mail.gmail.com> References: <CAFMmRNzh2qR1bT%2BvLmCMMXgmYGFCDWDU2rAcpace01H8=SAg_A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Isn’t rtld’s behavior here correct? It’s really Clang which is doing something quite odd. On Fri, Dec 20, 2019 at 13:27 Ryan Stone <rysto32@gmail.com> 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 > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG6CVpXH%2BAYOq67mOkmTb0XJGGrT7hAcoTETqa_4GagsRREnYQ>
