From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32085 invoked by alias); 7 Sep 2004 18:09:00 -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 32065 invoked from network); 7 Sep 2004 18:09:00 -0000 Received: from unknown (HELO Cantor.suse.de) (195.135.220.2) by sourceware.org with SMTP; 7 Sep 2004 18:09:00 -0000 Received: from hermes.suse.de (hermes-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (No client certificate requested) by Cantor.suse.de (Postfix) with ESMTP id 8ABAEBA1E35; Tue, 7 Sep 2004 20:08:59 +0200 (CEST) Received: from aj by arthur.inka.de with local (Exim 4.30) id 1C4kOm-0000qv-LQ; Tue, 07 Sep 2004 20:08:56 +0200 From: Andreas Jaeger Organization: SUSE Linux AG To: libc-hacker@sources.redhat.com Subject: Re: Fix locale/weight.h with GCC 3.5 Date: Tue, 07 Sep 2004 18:09:00 -0000 User-Agent: KMail/1.7 Cc: Roland McGrath References: <200409070802.i878231s009129@magilla.sf.frob.com> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1685613.gkCqu0p8TX"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200409072008.56509.aj@suse.de> X-SW-Source: 2004-09/txt/msg00022.txt.bz2 --nextPart1685613.gkCqu0p8TX Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-length: 3517 On Tuesday 07 September 2004 13:25, Andreas Jaeger wrote: > Roland McGrath writes: > >> On Monday 06 September 2004 23:21, Roland McGrath wrote: > >> > > This is a mess - if I change elf/dynamic-link.h in a similar way > >> > > (see below) I finally get: > >> > > >> > dynamic-link.h is used at different scopes in different places. > >> > You can just make the use of static conditional on #ifndef > >> > RTLD_BOOTSTRAP. > >> > >> Does not seem to help - we include it twice in local scope: > >> Once in rtld.c where this helps and once in dl-load.c where it won't > >> help :-( > > > > In dl-load.c, dynamic-link.h is used only at global scope. > > dl-reloc is the other culprit - I'm looking into it now, I'm testing currently the appended patch - with GCC 3.3 and 3.5. What do you think of it? Andreas =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Index: elf/dynamic-link.h --- elf/dynamic-link.h 6 Mar 2004 09:47:17 -0000 1.50 +++ elf/dynamic-link.h 7 Sep 2004 17:31:45 -0000 @@ -64,8 +64,10 @@ elf_machine_lazy_rel (struct link_map *m =20 =20 /* Read the dynamic section at DYN and fill in INFO with indices DT_*. */ - -static inline void __attribute__ ((unused, always_inline)) +#if (!defined RTLD_BOOTSTRAP && !defined LOCAL_SCOPE) +static +#endif +inline void __attribute__ ((unused, always_inline)) elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp) { ElfW(Dyn) *dyn =3D l->l_ld; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Index: elf/do-rel.h --- elf/do-rel.h 30 Jan 2003 17:36:34 -0000 1.32 +++ elf/do-rel.h 7 Sep 2004 17:31:45 -0000 @@ -49,7 +49,7 @@ relocations; they should be set up to call _dl_runtime_resolve, rather than fully resolved now. */ =20 -static inline void __attribute__ ((always_inline)) +inline void __attribute__ ((always_inline)) elf_dynamic_do_rel (struct link_map *map, ElfW(Addr) reladdr, ElfW(Addr) relsize, int lazy) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Index: elf/dl-reloc.c --- elf/dl-reloc.c 7 Mar 2004 05:21:01 -0000 1.96 +++ elf/dl-reloc.c 7 Sep 2004 17:31:45 -0000 @@ -27,6 +27,8 @@ #include #include "dynamic-link.h" =20 +#define LOCAL_SCOPE + /* Statistics function. */ #ifdef SHARED # define bump_num_cache_relocations() ++GL(dl_num_cache_relocations) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Index: elf/dl-conflict.c --- elf/dl-conflict.c 5 Mar 2004 10:14:50 -0000 1.11 +++ elf/dl-conflict.c 7 Sep 2004 17:31:45 -0000 @@ -57,7 +57,9 @@ _dl_resolve_conflicts (struct link_map * struct link_map *resolve_conflict_map __attribute__ ((__unused__)) =3D GL(dl_loaded); =20 +#define LOCAL_SCOPE #include "dynamic-link.h" +#undef LOCAL_SCOPE =20 GL(dl_num_cache_relocations) +=3D conflictend - conflict; =20 --=20 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj SUSE Linux AG, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GPG fingerprint =3D 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 --nextPart1685613.gkCqu0p8TX Content-Type: application/pgp-signature Content-length: 189 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBBPfk4OJpWPMJyoSYRAn14AJ9j1PWngVOgp+pojP+0DglffYIinwCeIkLf 7aa8DJMk9SzcPSIRzDch8zU= =IbGL -----END PGP SIGNATURE----- --nextPart1685613.gkCqu0p8TX--