From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19436 invoked by alias); 2 Aug 2002 02:14:38 -0000 Mailing-List: contact libc-hacker-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sources.redhat.com Received: (qmail 19420 invoked from network); 2 Aug 2002 02:14:38 -0000 Received: from unknown (HELO perdition.linnaean.org) (66.31.43.253) by sources.redhat.com with SMTP; 2 Aug 2002 02:14:38 -0000 Received: by perdition.linnaean.org (Postfix, from userid 5281) id D40871BA18; Thu, 1 Aug 2002 22:14:37 -0400 (EDT) From: Roland McGrath MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Ulrich Drepper Cc: GNU libc hackers Subject: Re: libio mmap changes In-Reply-To: Ulrich Drepper's message of Thu, 1 August 2002 18:44:43 -0700 <3D49E40B.7060900@redhat.com> Emacs: a learning curve that you can use as a plumb line. Message-Id: <20020802021437.D40871BA18@perdition.linnaean.org> Date: Thu, 01 Aug 2002 19:14:00 -0000 X-SW-Source: 2002-08/txt/msg00008.txt.bz2 > Well, this is the cleanest solution but... Function tables in DSOs are > not cheap. I cannot say in the moment whether there is a better method > but I want to mention this here for the benefit of all. If you have to > design some code in future avoiding function tables is advised. Yes, this had occurred to me. At least all the symbols are local/hidden so it should only be RELATIVE relocs, no? And since you added one for mmap in the first place... If it is kosher to add a flag bit somewhere, then the other obvious approach is to have the old single file jump table and have each operation test a flag bit--another test and branch on every callback vs the startup relocation of a couple dozen words (and ones that can never have conflicts if prelinked).