From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/2077 Path: news.gmane.org!not-for-mail From: Alex Caudill Newsgroups: gmane.linux.lib.musl.general Subject: PATCH: dl_iterate_phdr() Date: Thu, 11 Oct 2012 09:29:28 -0500 Message-ID: Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=f46d041827ec13426204cbc96690 X-Trace: ger.gmane.org 1349965783 23157 80.91.229.3 (11 Oct 2012 14:29:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 11 Oct 2012 14:29:43 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-2078-gllmg-musl=m.gmane.org@lists.openwall.com Thu Oct 11 16:29:50 2012 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1TMJlk-00018E-PR for gllmg-musl@plane.gmane.org; Thu, 11 Oct 2012 16:29:48 +0200 Original-Received: (qmail 31963 invoked by uid 550); 11 Oct 2012 14:29:40 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 31955 invoked from network); 11 Oct 2012 14:29:39 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=o5HeA+NxVSkl85Bl0LIL0DDObTKiTPHQMIfQXzXmDlk=; b=ltlCKU7iW0+48XjdkVgrB5i5iYA+x2DcP6MKmw4jZAuQZTKNURkPgbKgg/UJGaMfNW liF+TrRg1PODQ69CdRpSks/TTVF18DuPENfPjqfM9PbqBc1K9xwiZMERVw3WIzqmDfPj 1q1O3gRF9Cgd8pU82jogI18XXVA3MHUap1GCeQj6gNFwp5b8utNoBJ20ERTcWgzfPskj FhxC6N8hLerOLRqFZCuY753dsQpERVfgTbEa/yLM0884FbmDSqvaxStTctry5VU7MMuM lwbY3xUHMYxjCoRDCE9wVnWvMjElzVRI9Z8oEDoMuWXRExM7sJ58BxLwoWyR0BzI9rer 3w3g== Xref: news.gmane.org gmane.linux.lib.musl.general:2077 Archived-At: --f46d041827ec13426204cbc96690 Content-Type: text/plain; charset=ISO-8859-1 Hi! With a little help on IRC I hacked together a basic version of dl_iterate_phdr(), which I dropped into src/ldso/dynlink.c in my tree. This introduces a new include file: Line #9 of dl_iterate_phdr.c throws a warning that I'm not sure how to silence. I've attached both, and a test program. No copyright. Thanks! --f46d041827ec13426204cbc96690 Content-Type: text/x-csrc; charset=US-ASCII; name="dl_iterate_phdr.c" Content-Disposition: attachment; filename="dl_iterate_phdr.c" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 aW50IGRsX2l0ZXJhdGVfcGhkcihpbnQoKmNhbGxiYWNrKShzdHJ1Y3QgZGxfcGhkcl9pbmZvICpp bmZvLCBzaXplX3Qgc2l6ZSwgdm9pZCAqZGF0YSksIHZvaWQgKmRhdGEpCnsgICAKICAgIHN0cnVj dCBkc28gKmN1cnJlbnQ7CiAgICBFaGRyICplaGRyOwogICAgc3RydWN0IGRsX3BoZHJfaW5mbyBp bmZvOwogICAgaW50IHJldCA9IDA7CiAgICBmb3IoY3VycmVudCA9IGhlYWQ7IGN1cnJlbnQ7IGN1 cnJlbnQgPSBjdXJyZW50LT5uZXh0KSB7CiAgICAgICAgZWhkciA9IChFaGRyICopY3VycmVudC0+ bWFwOwogICAgICAgIGluZm8uZGxwaV9hZGRyID0gKGVoZHItPmVfdHlwZSA9PSBFVF9FWEVDKSA/ IDAgOiBjdXJyZW50LT5tYXA7CiAgICAgICAgaW5mby5kbHBpX25hbWUgPSBjdXJyZW50LT5zaG9y dG5hbWU7CiAgICAgICAgaW5mby5kbHBpX3BoZHIgPSAoUGhkciAqKShjdXJyZW50LT5tYXAgKyBl aGRyLT5lX3Bob2ZmKTsKICAgICAgICBpbmZvLmRscGlfcGhudW0gPSBlaGRyLT5lX3BobnVtOwoK ICAgICAgICByZXQgPSAoY2FsbGJhY2spKCZpbmZvLCBzaXplb2YgKGluZm8pLCBkYXRhKTsKICAg ICAgICBpZiAocmV0ICE9IDApCiAgICAgICAgICAgIGJyZWFrOwogICAgfQogICAgcmV0dXJuIHJl dDsKfQo= --f46d041827ec13426204cbc96690 Content-Type: text/x-chdr; charset=US-ASCII; name="link.h" Content-Disposition: attachment; filename="link.h" Content-Transfer-Encoding: base64 X-Attachment-Id: file2 I2lmbmRlZiBMSU5LX0gKI2RlZmluZSBMSU5LX0gKCiNpbmNsdWRlIDxlbGYuaD4KCiNkZWZpbmUg X19ORUVEX3NpemVfdAojaW5jbHVkZSA8Yml0cy9hbGx0eXBlcy5oPgoKI2lmZGVmIF9MUDY0CiNk ZWZpbmUgRWxmVyh0eXBlKSAgICAgIEVsZjY0XyAjIyB0eXBlCiNlbHNlICAgCiNkZWZpbmUgRWxm Vyh0eXBlKSAgICAgIEVsZjMyXyAjIyB0eXBlCiNlbmRpZgoKc3RydWN0IGRsX3BoZHJfaW5mbyB7 CiAgICBFbGZXKEFkZHIpICAgICAgICAgICAgICBkbHBpX2FkZHI7ICAKICAgIGNvbnN0IGNoYXIg ICAgICAgICAgICAgICpkbHBpX25hbWU7CiAgICBjb25zdCBFbGZXKFBoZHIpICAgICAgICAqZGxw aV9waGRyOwogICAgRWxmVyhIYWxmKSAgICAgICAgICAgICAgZGxwaV9waG51bTsKfTsKIAppbnQg ZGxfaXRlcmF0ZV9waGRyKGludCAoKikoc3RydWN0IGRsX3BoZHJfaW5mbyAqLCBzaXplX3QsIHZv aWQgKiksIHZvaWQgKik7CgojZW5kaWYK --f46d041827ec13426204cbc96690 Content-Type: text/x-csrc; charset=US-ASCII; name="dltest.c" Content-Disposition: attachment; filename="dltest.c" Content-Transfer-Encoding: base64 X-Attachment-Id: file3 I2RlZmluZSBfR05VX1NPVVJDRQojaW5jbHVkZSA8bGluay5oPgojaW5jbHVkZSA8c3RkbGliLmg+ CiNpbmNsdWRlIDxzdGRpby5oPgoKc3RhdGljIGludApjYWxsYmFjayhzdHJ1Y3QgZGxfcGhkcl9p bmZvICppbmZvLCBzaXplX3Qgc2l6ZSwgdm9pZCAqZGF0YSkKewogICAgaW50IGo7CgogICBwcmlu dGYoIm5hbWU9JXMgKCVkIHNlZ21lbnRzKVxuIiwgaW5mby0+ZGxwaV9uYW1lLAogICAgICAgIGlu Zm8tPmRscGlfcGhudW0pOwoKICAgZm9yIChqID0gMDsgaiA8IGluZm8tPmRscGlfcGhudW07IGor KykKICAgICAgICAgcHJpbnRmKCJcdFx0IGhlYWRlciAlMmQ6IGFkZHJlc3M9JTEwcFxuIiwgaiwK ICAgICAgICAgICAgICh2b2lkICopIChpbmZvLT5kbHBpX2FkZHIgKyBpbmZvLT5kbHBpX3BoZHJb al0ucF92YWRkcikpOwogICAgcmV0dXJuIDA7Cn0KCmludAptYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCnsKICAgIGRsX2l0ZXJhdGVfcGhkcihjYWxsYmFjaywgTlVMTCk7CgogICBleGl0KEVY SVRfU1VDQ0VTUyk7Cn0K --f46d041827ec13426204cbc96690--