From owner-freebsd-hackers Wed Oct 31 1:15:43 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from warez.scriptkiddie.org (uswest-dsl-142-38.cortland.com [209.162.142.38]) by hub.freebsd.org (Postfix) with ESMTP id 48C9437B406 for ; Wed, 31 Oct 2001 01:15:34 -0800 (PST) Received: from [192.168.69.11] (unknown [192.168.69.11]) by warez.scriptkiddie.org (Postfix) with ESMTP id D371262D01; Wed, 31 Oct 2001 01:15:33 -0800 (PST) Date: Wed, 31 Oct 2001 01:15:44 -0800 (PST) From: Lamont Granquist To: Cc: Subject: Re: /etc/ld.so.preload? In-Reply-To: <20011030230606.A35139-200000@coredump.scriptkiddie.org> Message-ID: <20011031010149.C24547-200000@coredump.scriptkiddie.org> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-998606165-1004519744=:24547" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-998606165-1004519744=:24547 Content-Type: TEXT/PLAIN; charset=US-ASCII Sorry, that one isn't backwards compatible with the present version of the hints file. This one behaves nicer. On Tue, 30 Oct 2001, Lamont Granquist wrote: > Well, here's a short patch to add the necessarily functionality to > /var/run/ld-elf.so.hints and /usr/libexec/ld-elf.so.1. If this is > acceptable, /sbin/ldconfig would need to be patched. > > Looks like the major bug is that if you preload libraries globally you > break linux binary compatibility. > > On Tue, 30 Oct 2001, Lamont Granquist wrote: > > Is there anything in FreeBSD that gives this functionality? My reading of > > src/libexec/rtld-elf/rtld.c in both -stable and -current seems to indicate > > that there isn't any such functionality (i need the global functionality > > that LD_PRELOAD doesn't give me). I'd be willing to write a patch for it, > > but I'd need some guidance on what would be a proper way to fix it. > > > > I'm thinking of a patch to ldconfig to get /etc/ld.so.preload into the > > hints file and then to hack gethints() in rtld.c to take an argument > > indicating which path you want to return. > > > > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-hackers" in the body of the message > > > > > --0-998606165-1004519744=:24547 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch Content-Transfer-Encoding: BASE64 Content-ID: <20011031011544.L24547@coredump.scriptkiddie.org> Content-Description: Content-Disposition: attachment; filename=patch LS0tIGluY2x1ZGUvZWxmLWhpbnRzLmh+CVR1ZSBPY3QgMzAgMTg6Mjk6NTcg MjAwMQ0KKysrIGluY2x1ZGUvZWxmLWhpbnRzLmgJVHVlIE9jdCAzMCAxODoz MTo0NyAyMDAxDQpAQCAtNDAsNyArNDAsMTAgQEANCiAJdV9pbnQzMl90CWRp cmxpc3Q7CS8qIE9mZnNldCBvZiBkaXJlY3RvcnkgbGlzdCBpbg0KIAkJCQkJ ICAgc3RyaW5nIHRhYmxlICovDQogCXVfaW50MzJfdAlkaXJsaXN0bGVuOwkv KiBzdHJsZW4oZGlybGlzdCkgKi8NCi0JdV9pbnQzMl90CXNwYXJlWzI2XTsJ LyogUm9vbSBmb3IgZXhwYW5zaW9uICovDQorCXVfaW50MzJfdAlwcmVsb2Fk bGlzdDsJLyogT2Zmc2V0IG9mIHByZWxvYWQgbGlzdCBpbiANCisJCQkJCSAg IHN0cmluZyB0YWJsZSAqLw0KKwl1X2ludDMyX3QJcHJlbG9hZGxpc3RsZW47 IC8qIHN0cmxlbihwcmVsb2FkbGlzdCkgKi8NCisJdV9pbnQzMl90CXNwYXJl WzI0XTsJLyogUm9vbSBmb3IgZXhwYW5zaW9uICovDQogfTsNCiANCiAjZGVm aW5lIEVMRkhJTlRTX01BR0lDCTB4NzQ2ZTY4NDUNCi0tLSBsaWJleGVjL3J0 bGQtZWxmL3J0bGQuY34JVHVlIE9jdCAzMCAxODoyODowMCAyMDAxDQorKysg bGliZXhlYy9ydGxkLWVsZi9ydGxkLmMJV2VkIE9jdCAzMSAwMDo1NTowNSAy MDAxDQpAQCAtNTIsOCArNTIsMTAgQEANCiAjaW5jbHVkZSAiZGVidWcuaCIN CiAjaW5jbHVkZSAicnRsZC5oIg0KIA0KLSNkZWZpbmUgRU5EX1NZTQkJIl9l bmQiDQotI2RlZmluZSBQQVRIX1JUTEQJIi91c3IvbGliZXhlYy9sZC1lbGYu c28uMSINCisjZGVmaW5lIEVORF9TWU0JCQkiX2VuZCINCisjZGVmaW5lIFBB VEhfUlRMRAkJIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSINCisjZGVmaW5l IEhJTlRfTElCUkFSWV9QQVRICTB4MDENCisjZGVmaW5lIEhJTlRfUFJFTE9B RAkJMHgwMg0KIA0KIC8qIFR5cGVzLiAqLw0KIHR5cGVkZWYgdm9pZCAoKmZ1 bmNfcHRyX3R5cGUpKCk7DQpAQCAtODAsNyArODIsNyBAQA0KIHN0YXRpYyB2 b2lkIGVycm1zZ19yZXN0b3JlKGNoYXIgKik7DQogc3RhdGljIGNoYXIgKmVy cm1zZ19zYXZlKHZvaWQpOw0KIHN0YXRpYyBjaGFyICpmaW5kX2xpYnJhcnko Y29uc3QgY2hhciAqLCBjb25zdCBPYmpfRW50cnkgKik7DQotc3RhdGljIGNv bnN0IGNoYXIgKmdldGhpbnRzKHZvaWQpOw0KK3N0YXRpYyBjaGFyICpnZXRo aW50cyhpbnQpOw0KIHN0YXRpYyB2b2lkIGluaXRfZGFnKE9ial9FbnRyeSAq KTsNCiBzdGF0aWMgdm9pZCBpbml0X2RhZzEoT2JqX0VudHJ5ICpyb290LCBP YmpfRW50cnkgKm9iaiwgRG9uZUxpc3QgKik7DQogc3RhdGljIHZvaWQgaW5p dF9ydGxkKGNhZGRyX3QpOw0KQEAgLTkxLDcgKzkzLDcgQEANCiBzdGF0aWMg dm9pZCBsaW5rbWFwX2FkZChPYmpfRW50cnkgKik7DQogc3RhdGljIHZvaWQg bGlua21hcF9kZWxldGUoT2JqX0VudHJ5ICopOw0KIHN0YXRpYyBpbnQgbG9h ZF9uZWVkZWRfb2JqZWN0cyhPYmpfRW50cnkgKik7DQotc3RhdGljIGludCBs b2FkX3ByZWxvYWRfb2JqZWN0cyh2b2lkKTsNCitzdGF0aWMgaW50IGxvYWRf cHJlbG9hZF9vYmplY3RzKGNoYXIgKik7DQogc3RhdGljIE9ial9FbnRyeSAq bG9hZF9vYmplY3QoY2hhciAqKTsNCiBzdGF0aWMgdm9pZCBsb2NrX2NoZWNr KHZvaWQpOw0KIHN0YXRpYyBPYmpfRW50cnkgKm9ial9mcm9tX2FkZHIoY29u c3Qgdm9pZCAqKTsNCkBAIC0zNTksNyArMzYxLDkgQEANCiAgICAgc3ltX3pl cm8uc3Rfc2huZHggPSBTSE5fQUJTOw0KIA0KICAgICBkYmcoImxvYWRpbmcg TERfUFJFTE9BRCBsaWJyYXJpZXMiKTsNCi0gICAgaWYgKGxvYWRfcHJlbG9h ZF9vYmplY3RzKCkgPT0gLTEpDQorICAgIGlmIChsb2FkX3ByZWxvYWRfb2Jq ZWN0cyhsZF9wcmVsb2FkKSA9PSAtMSkNCisJZGllKCk7DQorICAgIGlmIChs b2FkX3ByZWxvYWRfb2JqZWN0cyhnZXRoaW50cyhISU5UX1BSRUxPQUQpKSA9 PSAtMSkNCiAJZGllKCk7DQogICAgIHByZWxvYWRfdGFpbCA9IG9ial90YWls Ow0KIA0KQEAgLTgwNSw3ICs4MDksNyBAQA0KICAgICBpZiAoKHJlZm9iaiAh PSBOVUxMICYmDQogICAgICAgKHBhdGhuYW1lID0gc2VhcmNoX2xpYnJhcnlf cGF0aChuYW1lLCByZWZvYmotPnJwYXRoKSkgIT0gTlVMTCkgfHwNCiAgICAg ICAocGF0aG5hbWUgPSBzZWFyY2hfbGlicmFyeV9wYXRoKG5hbWUsIGxkX2xp YnJhcnlfcGF0aCkpICE9IE5VTEwgfHwNCi0gICAgICAocGF0aG5hbWUgPSBz ZWFyY2hfbGlicmFyeV9wYXRoKG5hbWUsIGdldGhpbnRzKCkpKSAhPSBOVUxM IHx8DQorICAgICAgKHBhdGhuYW1lID0gc2VhcmNoX2xpYnJhcnlfcGF0aChu YW1lLCBnZXRoaW50cyhISU5UX0xJQlJBUllfUEFUSCkpKSAhPSBOVUxMIHx8 DQogICAgICAgKHBhdGhuYW1lID0gc2VhcmNoX2xpYnJhcnlfcGF0aChuYW1l LCBTVEFOREFSRF9MSUJSQVJZX1BBVEgpKSAhPSBOVUxMKQ0KIAlyZXR1cm4g cGF0aG5hbWU7DQogDQpAQCAtODczLDM4ICs4NzcsNTQgQEANCiAgKiBuZWNl c3NhcnkuICBSZXR1cm5zIE5VTEwgaWYgdGhlcmUgYXJlIHByb2JsZW1zIHdp dGggdGhlIGhpbnRzIGZpbGUsDQogICogb3IgaWYgdGhlIHNlYXJjaCBwYXRo IHRoZXJlIGlzIGVtcHR5Lg0KICAqLw0KLXN0YXRpYyBjb25zdCBjaGFyICoN Ci1nZXRoaW50cyh2b2lkKQ0KK3N0YXRpYyBjaGFyICoNCitnZXRoaW50cyhp bnQgaGludGZsYWcpDQogew0KLSAgICBzdGF0aWMgY2hhciAqaGludHM7DQor ICAgIHN0YXRpYyBjaGFyICpwcmVsb2FkOw0KKyAgICBzdGF0aWMgY2hhciAq bGlicmFyeV9wYXRoOw0KIA0KLSAgICBpZiAoaGludHMgPT0gTlVMTCkgew0K KyAgICBpZiAoKGxpYnJhcnlfcGF0aCA9PSBOVUxMKSB8fCAocHJlbG9hZCA9 PSBOVUxMKSkgew0KIAlpbnQgZmQ7DQogCXN0cnVjdCBlbGZoaW50c19oZHIg aGRyOw0KIAljaGFyICpwOw0KIA0KIAkvKiBLZWVwIGZyb20gdHJ5aW5nIGFn YWluIGluIGNhc2UgdGhlIGhpbnRzIGZpbGUgaXMgYmFkLiAqLw0KLQloaW50 cyA9ICIiOw0KKwlsaWJyYXJ5X3BhdGggPSAiIjsNCisJcHJlbG9hZCA9ICIi Ow0KIA0KIAlpZiAoKGZkID0gb3BlbihfUEFUSF9FTEZfSElOVFMsIE9fUkRP TkxZKSkgPT0gLTEpDQogCSAgICByZXR1cm4gTlVMTDsNCiAJaWYgKHJlYWQo ZmQsICZoZHIsIHNpemVvZiBoZHIpICE9IHNpemVvZiBoZHIgfHwNCiAJICBo ZHIubWFnaWMgIT0gRUxGSElOVFNfTUFHSUMgfHwNCiAJICBoZHIudmVyc2lv biAhPSAxKSB7DQotCSAgICBjbG9zZShmZCk7DQotCSAgICByZXR1cm4gTlVM TDsNCisJICAgIGdvdG8gY2xlYW51cDsNCiAJfQ0KIAlwID0geG1hbGxvYyho ZHIuZGlybGlzdGxlbiArIDEpOw0KIAlpZiAobHNlZWsoZmQsIGhkci5zdHJ0 YWIgKyBoZHIuZGlybGlzdCwgU0VFS19TRVQpID09IC0xIHx8DQogCSAgcmVh ZChmZCwgcCwgaGRyLmRpcmxpc3RsZW4gKyAxKSAhPSBoZHIuZGlybGlzdGxl biArIDEpIHsNCiAJICAgIGZyZWUocCk7DQotCSAgICBjbG9zZShmZCk7DQot CSAgICByZXR1cm4gTlVMTDsNCisJICAgIGdvdG8gY2xlYW51cDsNCiAJfQ0K LQloaW50cyA9IHA7DQorCWxpYnJhcnlfcGF0aCA9IHA7DQorCXAgPSB4bWFs bG9jKGhkci5wcmVsb2FkbGlzdGxlbiArIDEpOw0KKwlpZiAoaGRyLnByZWxv YWRsaXN0bGVuID09IDAgfHwNCisJICBsc2VlayhmZCwgaGRyLnN0cnRhYiAr IGhkci5wcmVsb2FkbGlzdCwgU0VFS19TRVQpID09IC0xIHx8DQorCSAgcmVh ZChmZCwgcCwgaGRyLnByZWxvYWRsaXN0bGVuICsgMSkgIT0gaGRyLnByZWxv YWRsaXN0bGVuICsgMSkgew0KKwkgICAgZnJlZShwKTsNCisJICAgIGdvdG8g Y2xlYW51cDsNCisJfQ0KKwlwcmVsb2FkID0gcDsNCitjbGVhbnVwOg0KIAlj bG9zZShmZCk7DQogICAgIH0NCi0gICAgcmV0dXJuIGhpbnRzWzBdICE9ICdc MCcgPyBoaW50cyA6IE5VTEw7DQorICAgIHN3aXRjaCAoaGludGZsYWcpIHsN CisJY2FzZSBISU5UX0xJQlJBUllfUEFUSDoNCisgICAgICAgICAgcmV0dXJu IGxpYnJhcnlfcGF0aFswXSAhPSAnXDAnID8gbGlicmFyeV9wYXRoIDogTlVM TDsNCisJY2FzZSBISU5UX1BSRUxPQUQ6DQorICAgICAgICAgIHJldHVybiBw cmVsb2FkWzBdICE9ICdcMCcgPyBwcmVsb2FkIDogTlVMTDsNCisJZGVmYXVs dDoNCisJICByZXR1cm4gTlVMTDsNCisgICAgfQ0KIH0NCiANCiBzdGF0aWMg dm9pZA0KQEAgLTEwNzcsOSArMTA5Nyw4IEBADQogfQ0KIA0KIHN0YXRpYyBp bnQNCi1sb2FkX3ByZWxvYWRfb2JqZWN0cyh2b2lkKQ0KK2xvYWRfcHJlbG9h ZF9vYmplY3RzKGNoYXIgKnApDQogew0KLSAgICBjaGFyICpwID0gbGRfcHJl bG9hZDsNCiAgICAgc3RhdGljIGNvbnN0IGNoYXIgZGVsaW1bXSA9ICIgXHQ6 OyI7DQogDQogICAgIGlmIChwID09IE5VTEwpDQo= --0-998606165-1004519744=:24547-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message