From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from forward502b.mail.yandex.net (forward502b.mail.yandex.net [178.154.239.146]) by sourceware.org (Postfix) with ESMTPS id C41113858D3C for ; Wed, 29 Mar 2023 18:29:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C41113858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=yandex.ru Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=yandex.ru Received: from mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net [IPv6:2a02:6b8:c12:131b:0:640:f0f5:0]) by forward502b.mail.yandex.net (Yandex) with ESMTP id 5207F5F525; Wed, 29 Mar 2023 21:29:54 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id qTNJoQ5DbeA0-GZM0c4Jw; Wed, 29 Mar 2023 21:29:53 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1680114594; bh=3/eFzQ+yl6M6fHiuC84M5ndxiTASgOyvNpjYwloX6V4=; h=In-Reply-To:From:Date:References:To:Subject:Message-ID; b=a7GscxeForturkGogso1aKDjdR41T5tuaztKcZ0xjBNU2CttTaOVWzFXcY0op7CuD T7vFyf1u8b+hL6NrmQ9adPJsCd1zS4R5Me4FonWGdw/d5dZ0sk5qqMtcg8phnsiPrQ cK6xo4I4gsaVIhCqJzG1L+GLALvYY3/jGMMTY4uE= Authentication-Results: mail-nwsmtp-smtp-production-main-92.myt.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: <9451d101-d4c0-54a1-117d-bbb283f13c5a@yandex.ru> Date: Wed, 29 Mar 2023 23:29:51 +0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH v9 0/13] implement dlmem() function Content-Language: en-US To: Carlos O'Donell , libc-alpha@sourceware.org References: <20230318165110.3672749-1-stsp2@yandex.ru> <481ef2c5-a59f-dea4-7f5f-2fcd229a4c25@redhat.com> <7fab954f-4a3d-0df0-8211-a9697f3966c1@yandex.ru> <81d75bd3-147e-f85a-9955-0c7f0f2dfbeb@redhat.com> From: stsp In-Reply-To: <81d75bd3-147e-f85a-9955-0c7f0f2dfbeb@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 29.03.2023 23:13, Carlos O'Donell пишет: > It is not that the workload you have is unimportant, since importance is relative, > but the workload is not generic enough for glibc to add dlmem() into the library. > > You need to have a very strong argument for the question "Why should this go into > the library?" I'll write that down to the cover-letter, but I'd like to also summarize it here to get your opinion before posting the patch. My view on that picture is that dlmem() is a very generic API that allows to implement eg dlopen_with_offset() in a dozen of lines. And in that case - quite importantly - no "advanced" features are even used, so the last arg is just NULL. Now the advanced features offered by the last argument, are indeed quite specific to my not-so-common use-case. So my idea is exactly that: implement what other ppl asked before, make it powerful and generic, and then sneak in an optional pointer arg for myself. :) Is it a viable plan? I also tried to "hide" the me-specific functionality in an auditor - that plan was rejected as non-viable. Optional pointer arg looks a bit better to me. :) So I am trying to put this not as "I want to implement the function solely for myself", but as "please let me have an optional pointer arg in a very generic and powerful function". :)