Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Dec 2019 17:03:01 -0500
From:      Ed Maste <emaste@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:  <CAPyFy2BHG4d5r5uPzNAwiZ55hx4atpYWn2XCqfg3ji6873Adqw@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

On Fri, 20 Dec 2019 at 16:26, 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.

I have two questions, I suppose:

- What is the correct thing for AT_EXECPATH in light of fexecve rtld?
Arguably /libexec/ld-elf.so.1 is correct.

- What's the desired behaviour for Clang when run from ld-elf.so.1 -f fd?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPyFy2BHG4d5r5uPzNAwiZ55hx4atpYWn2XCqfg3ji6873Adqw>