From owner-freebsd-current@freebsd.org Fri Dec 20 22:03:15 2019 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 08E771E4F8C for ; Fri, 20 Dec 2019 22:03:15 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io1-f65.google.com (mail-io1-f65.google.com [209.85.166.65]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47fjRk1gptz4V5c for ; Fri, 20 Dec 2019 22:03:14 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: by mail-io1-f65.google.com with SMTP id z193so10885804iof.1 for ; Fri, 20 Dec 2019 14:03:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NltXWQRuFoA8l1S9gGBoFT/z6nv2k6+O3Pn/RXaQCD8=; b=c4u8YUgAmn6DEMsfTbI0YSHhwfbZjB/JtSm6fS+CaATqANx4Be4TIqMyJYto1zsqpx KEYkGMSPBBcqqDCU6rVYDoIy76kz4hVBaFvnlFA1qM8WtfVQs/p5ENJO96UzScAuIHr3 NI0i9nLLP3jJxUjA6lF8AWPC54aJpe1jPrKZWBjW6E7C/JwAboL5+VpeRXU802CFp70b wZ3Yfmnixd0zFI00Yh6emw80AN3Tc0GlvZbE0agv4jxEYuJmi4dYHVfh05IYEGOHsZWQ oOtb2yvSGU7Ulgpn3+yvejg3+G97GAc7S5CcCfgjx5FS996XIcImxJLWDIxyKfzBWytK y3XA== X-Gm-Message-State: APjAAAXEXl/YehrDnoIlyArSun7h2JpOngu6EfWsvMiCNExr0Z+lUmoT 1Euh0QjKh+A4UrrJ5b72Dm7ECSN6S5ePNgbeW2t1qvTPfEI= X-Google-Smtp-Source: APXvYqx4P/UZAfZCKZh3RR4sofeKRt1uSRDXESXcaoMKBBPlp8sJexZOF5PROE6IzvPdVYlLZmL8XJ5IjdkrdbyiqqY= X-Received: by 2002:a5e:aa12:: with SMTP id s18mr11110979ioe.182.1576879393177; Fri, 20 Dec 2019 14:03:13 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Ed Maste Date: Fri, 20 Dec 2019 17:03:01 -0500 Message-ID: Subject: Re: AT_EXECPATH aux_info vector contains path of interpreter when directly exec'ing rtld To: Ryan Stone Cc: FreeBSD Current Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 47fjRk1gptz4V5c X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.166.65 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com X-Spamd-Result: default: False [-3.07 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[65.166.85.209.list.dnswl.org : 127.0.5.0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; IP_SCORE(-1.07)[ip: (-0.29), ipnet: 209.85.128.0/17(-3.11), asn: 15169(-1.89), country: US(-0.05)]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; FREEMAIL_TO(0.00)[gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[65.166.85.209.rep.mailspike.net : 127.0.0.17]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Dec 2019 22:03:15 -0000 On Fri, 20 Dec 2019 at 16:26, 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. 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?