From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22103 invoked by alias); 8 Sep 2004 05:40:51 -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 21534 invoked from network); 8 Sep 2004 05:40:43 -0000 Received: from unknown (HELO Cantor.suse.de) (195.135.220.2) by sourceware.org with SMTP; 8 Sep 2004 05:40:43 -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 3A498BA7A17; Wed, 8 Sep 2004 07:40:43 +0200 (CEST) Received: from aj by arthur.inka.de with local (Exim 4.30) id 1C4vBX-0000Ma-NT; Wed, 08 Sep 2004 07:39:59 +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: Wed, 08 Sep 2004 05:40:00 -0000 User-Agent: KMail/1.7 Cc: Roland McGrath References: <200409072126.i87LQNK8020482@magilla.sf.frob.com> <200409080657.19897.aj@suse.de> In-Reply-To: <200409080657.19897.aj@suse.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart11795588.yLR5MVTp7N"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200409080739.58364.aj@suse.de> X-SW-Source: 2004-09/txt/msg00027.txt.bz2 --nextPart11795588.yLR5MVTp7N Content-Type: multipart/mixed; boundary="Boundary-01=_mspPBVfALga0Zkv" Content-Transfer-Encoding: 7bit Content-Disposition: inline --Boundary-01=_mspPBVfALga0Zkv Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-length: 667 On Wednesday 08 September 2004 06:57, Andreas Jaeger wrote: > On Tuesday 07 September 2004 23:26, Roland McGrath wrote: > > Can't you just make that #ifndef RESOLVE? > > Yeah! That seems to work. I'll do now some more tests and send a proper > patch. Here's a patch - it has been tested with GCC 3.3. Testing with 3.4 is stil= l=20 in progress - and it works with 3.5 as far as I get (I run into an ICE in=20 gcc). All tests were done on AMD64. Ok to commit? Andreas --=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 --Boundary-01=_mspPBVfALga0Zkv Content-Type: text/x-diff; charset="utf-8"; name="libc-diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="libc-diff" Content-length: 6599 2004-09-07 Andreas Jaeger * sysdeps/x86_64/dl-machine.h (elf_machine_rela_relative): Remove static, add always_inline attribute. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Make static dependend on !RESOLVE so that it's not defined in local scope. * locale/weight.h (findidx): Remove static, it's not supported anymore with GCC 3.5 in a block scope. * locale/weightwc.h (findidx): Likewise. * posix/regcomp.c (seek_collating_symbol_entry): Likewise. (lookup_collation_sequence_value): Likewise. (build_range_exp): Likewise. (build_collating_symbol): Likewise. * iconv/iconvconfig.c (write_output): Likewise. * elf/do-rel.h (elf_dynamic_do_rel): Likewise. =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: sysdeps/x86_64/dl-machine.h --- sysdeps/x86_64/dl-machine.h 5 Mar 2004 10:14:47 -0000 1.25 +++ sysdeps/x86_64/dl-machine.h 8 Sep 2004 05:35:58 -0000 @@ -355,7 +386,8 @@ elf_machine_plt_value (struct link_map * /* Perform the relocation specified by RELOC and SYM (which is fully resol= ved). MAP is the object containing the reloc. */ =20 -static inline void +inline void +__attribute ((always_inline)) elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc, const Elf64_Sym *sym, const struct r_found_version *version, void *const reloc_addr_arg) @@ -520,7 +552,8 @@ elf_machine_rela (struct link_map *map,=20 } } =20 -static inline void +inline void +__attribute ((always_inline)) elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc, void *const reloc_addr_arg) { @@ -529,7 +562,8 @@ elf_machine_rela_relative (Elf64_Addr l_ *reloc_addr =3D l_addr + reloc->r_addend; } =20 -static inline void +inline void +__attribute ((always_inline)) elf_machine_lazy_rel (struct link_map *map, Elf64_Addr l_addr, const Elf64_Rela *reloc) { =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: locale/weightwc.h --- locale/weightwc.h 13 Jun 2003 20:44:58 -0000 1.9 +++ locale/weightwc.h 8 Sep 2004 05:35:58 -0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996-2000, 2001, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1996-2000, 2001,2003,2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Ulrich Drepper, . =20 @@ -18,7 +18,7 @@ 02111-1307 USA. */ =20 /* Find index of weight. */ -static inline int32_t +inline int32_t __attribute ((always_inline)) findidx (const wint_t **cpp) { =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: locale/weight.h --- locale/weight.h 11 Jun 2003 21:52:12 -0000 1.19 +++ locale/weight.h 8 Sep 2004 05:35:58 -0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996,1997,1998,1999,2000,2003 Free Software Foundation, I= nc. +/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004 Free Software Foundati= on, Inc. This file is part of the GNU C Library. Written by Ulrich Drepper, . =20 @@ -18,7 +18,7 @@ 02111-1307 USA. */ =20 /* Find index of weight. */ -static inline int32_t +inline int32_t __attribute ((always_inline)) findidx (const unsigned char **cpp) { =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 8 Sep 2004 05:35:58 -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)) +#ifndef RESOLVE +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 8 Sep 2004 05:35:59 -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: posix/regcomp.c --- posix/regcomp.c 5 Mar 2004 10:43:54 -0000 1.80 +++ posix/regcomp.c 8 Sep 2004 05:36:00 -0000 @@ -2682,7 +2682,7 @@ parse_bracket_exp (regexp, dfa, token, s Seek the collating symbol entry correspondings to NAME. Return the index of the symbol in the SYMB_TABLE. */ =20 - static inline int32_t + inline int32_t __attribute ((always_inline)) seek_collating_symbol_entry (name, name_len) const unsigned char *name; @@ -2715,7 +2715,7 @@ parse_bracket_exp (regexp, dfa, token, s Look up the collation sequence value of BR_ELEM. Return the value if succeeded, UINT_MAX otherwise. */ =20 - static inline unsigned int + inline unsigned int __attribute ((always_inline)) lookup_collation_sequence_value (br_elem) bracket_elem_t *br_elem; @@ -2783,7 +2783,7 @@ parse_bracket_exp (regexp, dfa, token, s mbcset->range_ends, is a pointer argument sinse we may update it. */ =20 - static inline reg_errcode_t + inline reg_errcode_t __attribute ((always_inline)) build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) re_charset_t *mbcset; @@ -2866,7 +2866,7 @@ parse_bracket_exp (regexp, dfa, token, s COLL_SYM_ALLOC is the allocated size of mbcset->coll_sym, is a pointer argument sinse we may update it. */ =20 - static inline reg_errcode_t + inline reg_errcode_t __attribute ((always_inline)) build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) re_charset_t *mbcset; --Boundary-01=_mspPBVfALga0Zkv-- --nextPart11795588.yLR5MVTp7N Content-Type: application/pgp-signature Content-length: 189 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQBBPpsuOJpWPMJyoSYRArP8AJ4jE2A1FlR6nHeQ+WW/UnssQ6bFrwCfWa+g Z+CFU2Hgc5nLLIwP1cvOzHI= =5yae -----END PGP SIGNATURE----- --nextPart11795588.yLR5MVTp7N--