From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/14631 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Rodger Combs Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH 1/3] ldso: when run via CLI, set auxv as if the app was loaded by the kernel Date: Mon, 9 Sep 2019 23:56:37 -0500 Message-ID: <1568091399-23967-1-git-send-email-rodger.combs@gmail.com> Reply-To: musl@lists.openwall.com Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="13755"; mail-complaints-to="usenet@blaine.gmane.org" To: musl@lists.openwall.com Original-X-From: musl-return-14647-gllmg-musl=m.gmane.org@lists.openwall.com Tue Sep 10 06:57:06 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1i7YDC-0003UZ-CG for gllmg-musl@m.gmane.org; Tue, 10 Sep 2019 06:57:06 +0200 Original-Received: (qmail 11470 invoked by uid 550); 10 Sep 2019 04:57:03 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 11435 invoked from network); 10 Sep 2019 04:57:02 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=n89iR36WceVck//KAjx6iaiSjqGgndNovkAPA/XIi94=; b=HDU3wXTmCu5CQ5V5feKnhQslNENfWom7aYya0iJsU9N1Rnn71MO3UkFV4vx/tmqdj9 Bb7k8VZdoqMHETzlKK1w8iDEbMVLtHSYhjja06wbNI6JdFgzCjjOa+b3HhbDpkGnrO21 nS4u6CNuv9xVMEeKlrjRk6kFeVT4zOWxX2x3WMUrNOH2oqnfbWUFYiyBPmCmQLh2P0rR SYIlNeCEbZTz2E99vgqwDbUbEFnjkVTdbYBtEFX3MxlfBjJT3d91qL6Jho+PFZa+Gdcl R19Ct/iksYbhMaPcUpn0woEc4w9MxdtEgDBW47pMe6nsxnXC5R5zo7ox2igHQSLvT0Ez tuvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=n89iR36WceVck//KAjx6iaiSjqGgndNovkAPA/XIi94=; b=EYv2wD4xzvEd9MP+YQV/iKQvr6op/AzGa7m/U89oK8d6IZBV0UObVuY+3M3whWV55I eVOAypSDH2Z6pzfQnjmU92kNpzQ3hT96ELi6ZnDSo9OkmQ21j1XvyugRLJq+GdsFspFZ q+Zf90DDfka6mLB2z2o/a5MNvNinY0tguBNJGqA8noZsQCMfBBUqPnZQiWwVMhb4lCje qs+C/Scs31/j2qoeM/KilbmsxpmFybs4rpJdtP2edamF1xDMYlzceq+2aGdxSew/SZOY 2MRS3sXuuAM5ae84VY7gHy9YA+mP4rbnDgdrS3WrzrHHRI4pK3bizKlKFLUhj2AjK4HG aTuA== X-Gm-Message-State: APjAAAU4s44Ir8IfCNC9342wZYL0AsbcUifWRSoyFRH/gTLpbd4VJ9Ab nGuWGNbzAqrpF+o48UJqSK//8pgF X-Google-Smtp-Source: APXvYqy+6q5YBARDkWiVoAz/tp9sQhIlj57+vzQcwfxOaiNTeiazbRhNsTx0efP+HpKwoHQa8JQ4Gg== X-Received: by 2002:aed:3091:: with SMTP id 17mr27785547qtf.219.1568091410153; Mon, 09 Sep 2019 21:56:50 -0700 (PDT) X-Mailer: git-send-email 2.7.4 Xref: news.gmane.org gmane.linux.lib.musl.general:14631 Archived-At: --- ldso/dynlink.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ldso/dynlink.c b/ldso/dynlink.c index 5ef2111..22181e3 100644 --- a/ldso/dynlink.c +++ b/ldso/dynlink.c @@ -1805,6 +1805,22 @@ void __dls3(size_t *sp) } dprintf(1, "\t%s (%p)\n", ldso.name, ldso.base); } + + // Make it look to the app as if it was loaded by the kernel + for (i=0; auxv[i]; i+=2) { + if (auxv[i] == AT_BASE) + auxv[i + 1] = (size_t)ldso.base; + if (auxv[i] == AT_PHDR) + auxv[i + 1] = (size_t)app.phdr; + if (auxv[i] == AT_ENTRY) + auxv[i + 1] = aux[AT_ENTRY]; + if (auxv[i] == AT_PHNUM) + auxv[i + 1] = app.phnum; + if (auxv[i] == AT_PHENT) + auxv[i + 1] = app.phentsize; + if (auxv[i] == AT_EXECFN) + auxv[i + 1] = (size_t)app.name; + } } if (app.tls.size) { libc.tls_head = tls_tail = &app.tls; -- 2.7.4