From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23799 invoked by alias); 9 Dec 2002 18:52:53 -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 23783 invoked from network); 9 Dec 2002 18:52:52 -0000 Received: from unknown (HELO gateway.sf.frob.com) (64.160.55.155) by sources.redhat.com with SMTP; 9 Dec 2002 18:52:52 -0000 Received: from magilla.sf.frob.com (magilla.sf.frob.com [198.49.250.228]) by gateway.sf.frob.com (Postfix) with ESMTP id B1A3136DE; Mon, 9 Dec 2002 01:13:13 -0800 (PST) Received: (from roland@localhost) by magilla.sf.frob.com (8.11.6/8.11.6) id gB99DDF04745; Mon, 9 Dec 2002 01:13:13 -0800 Date: Mon, 09 Dec 2002 10:52:00 -0000 Message-Id: <200212090913.gB99DDF04745@magilla.sf.frob.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: davidm@hpl.hp.com Cc: libc-hacker@sources.redhat.com Subject: Re: patch to make init_array work (3nd version) In-Reply-To: David Mosberger's message of Wednesday, 27 November 2002 14:35:33 -0800 <15845.18613.38095.974630@napali.hpl.hp.com> X-Zippy-Says: NOW, I'm taking the NEXT FLIGHT to ACAPULCO so I can write POEMS about BROKEN GUITAR STRINGS and sensuous PRE-TEENS!! X-SW-Source: 2002-12/txt/msg00011.txt.bz2 I had not been aware of the difference in behavior for static vs dynamic executables when making my previous suggestion. Your change to the calling convention of the function passed to __libc_start_main would require symbol versioning of __libc_start_main to avoid creating new executables with the false appearance of compatibility with existing shared libraries. It's also an ugly kludge that there is no need for. I reimplemented it myself. I put the functions called from start.S into libc.a and libc_nonshared.a with different versions for the two cases, so the correct behavior (calling the executable's preinit array or not) is selected at link time instead of using a kludge with run-time overhead. I also performed the query replace on all the start.S files. No patch to the generic code in libc is complete without updating all the existing sysdeps code, and it is not hard to do a query replace. For future contributions that change generic code in ways that necessitate updating sysdeps code, please include those changes if you expect your patches to go in as they are or in a timely fashion. Thanks, Roland