From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7727 invoked by alias); 25 Oct 2002 10:38:36 -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 7674 invoked from network); 25 Oct 2002 10:38:34 -0000 Received: from unknown (HELO sunsite.mff.cuni.cz) (195.113.19.66) by sources.redhat.com with SMTP; 25 Oct 2002 10:38:34 -0000 Received: (from jakub@localhost) by sunsite.mff.cuni.cz (8.11.6/8.11.6) id g9PAcV828416; Fri, 25 Oct 2002 12:38:31 +0200 Date: Fri, 25 Oct 2002 12:42:00 -0000 From: Jakub Jelinek To: Roland McGrath Cc: Glibc hackers Subject: init-first.c change Message-ID: <20021025123831.P3451@sunsite.ms.mff.cuni.cz> Reply-To: Jakub Jelinek Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i X-SW-Source: 2002-10/txt/msg00099.txt.bz2 Hi! I have doubts about: 2002-10-24 Roland McGrath * sysdeps/unix/sysv/linux/init-first.c (init): Protect _dl_starting_up access with [! SHARED]. * sysdeps/unix/sysv/aix/init-first.c (init): Likewise. change. It seems to me that ATM all normal dynamically linked programs will suddenly have __libc_multiple_libcs set to 1 while they had 0 there previously. Shouldn't it actually be #ifdef SHARED? Also: /* The next variable is only here to work around a bug in gcc <= 2.7.2.2. If the address would be taken inside the expression the optimizer would try to be too smart and throws it away. Grrr. */ int *dummy_addr = &_dl_starting_up; __libc_multiple_libcs = dummy_addr && !_dl_starting_up; could be replaced with __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up; , because we don't support 2.7.2.2 any longer for glibc build. Last, there is _dl_starting_up extern in elf/dl-init.c which could be killed too. Jakub