From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id CD282386FC32 for ; Tue, 8 Jun 2021 16:56:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CD282386FC32 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-210-0l7p31XANLSgocPoYcAFOA-1; Tue, 08 Jun 2021 12:56:50 -0400 X-MC-Unique: 0l7p31XANLSgocPoYcAFOA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 222DC80ED8E; Tue, 8 Jun 2021 16:56:50 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-115-60.ams2.redhat.com [10.36.115.60]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6FA6A100164C; Tue, 8 Jun 2021 16:56:49 +0000 (UTC) From: Florian Weimer To: "Soni L. via Libc-help" Subject: Re: inode-based dlopen caching References: Date: Tue, 08 Jun 2021 18:56:47 +0200 In-Reply-To: (Soni L. via Libc-help's message of "Sat, 5 Jun 2021 10:59:40 -0300") Message-ID: <87zgw09tww.fsf@oldenburg.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-help@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-help mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Jun 2021 16:56:54 -0000 * Soni L. via Libc-help: > Currently dlopen caching is based on filenames, it'd be nice if it was > based on inodes to support better "re"loading (aka loading a new module > with the same name because unloading modules with threads is never a > good idea). This is good for stuff that deals with plugins. It's an interesting idea. We'd probably also want a flag that hides the symbols from general binding and makes them available for direct dlsym lookups using the handle returned by dlopen (otherwise the old definitions stick around). The tricky question is what to do about dependencies. A behavioral change for just one level is not too hard, but everything goes further is difficult. Vivek Das=C2=A0Mohapatra's RTLD_SHARED patches may help with isolating dependencies. Thanks, Florian