* remove static from inline functions in local scope for GCC 4.0
@ 2004-09-23 19:00 Andreas Jaeger
2004-09-23 20:01 ` Roland McGrath
0 siblings, 1 reply; 5+ messages in thread
From: Andreas Jaeger @ 2004-09-23 19:00 UTC (permalink / raw)
To: Glibc hackers
[-- Attachment #1: Type: text/plain, Size: 7501 bytes --]
With the following updated patch (Roland asked me to use auto for the
functions), I have now successfully build all of glibc with GCC 4.0
(CVS version of 12 hours ago) on Linux/AMD64. The testsuite fails for
some tests, e.g. localedata/tst-leaks.out, but at least GCC builds
glibc again...
Tested with GCC 3.4, 3.3-hammer-branch and 4.0-CVS on Linux/AMD64.
Ok to commit?
Andreas
2004-09-23 Andreas Jaeger <aj@suse.de>
* 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.
============================================================
Index: elf/do-rel.h
--- elf/do-rel.h 30 Jan 2003 17:36:34 -0000 1.32
+++ elf/do-rel.h 23 Sep 2004 18:32:04 -0000
@@ -1,5 +1,5 @@
/* Do relocations for ELF dynamic linking.
- Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -49,7 +49,7 @@
relocations; they should be set up to call _dl_runtime_resolve, rather
than fully resolved now. */
-static inline void __attribute__ ((always_inline))
+auto inline void __attribute__ ((always_inline))
elf_dynamic_do_rel (struct link_map *map,
ElfW(Addr) reladdr, ElfW(Addr) relsize,
int lazy)
============================================================
Index: elf/dynamic-link.h
--- elf/dynamic-link.h 6 Mar 2004 09:47:17 -0000 1.50
+++ elf/dynamic-link.h 23 Sep 2004 18:32:04 -0000
@@ -64,8 +64,12 @@ elf_machine_lazy_rel (struct link_map *m
/* Read the dynamic section at DYN and fill in INFO with indices DT_*. */
-
-static inline void __attribute__ ((unused, always_inline))
+#ifndef RESOLVE
+static
+#else
+auto
+#endif
+inline void __attribute__ ((unused, always_inline))
elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
{
ElfW(Dyn) *dyn = l->l_ld;
============================================================
Index: locale/weight.h
--- locale/weight.h 11 Jun 2003 21:52:12 -0000 1.19
+++ locale/weight.h 23 Sep 2004 18:32:05 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Ulrich Drepper, <drepper@cygnus.com>.
@@ -18,7 +18,7 @@
02111-1307 USA. */
/* Find index of weight. */
-static inline int32_t
+inline int32_t
__attribute ((always_inline))
findidx (const unsigned char **cpp)
{
============================================================
Index: locale/weightwc.h
--- locale/weightwc.h 13 Jun 2003 20:44:58 -0000 1.9
+++ locale/weightwc.h 23 Sep 2004 18:32:05 -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, <drepper@cygnus.com>.
@@ -18,7 +18,7 @@
02111-1307 USA. */
/* Find index of weight. */
-static inline int32_t
+inline int32_t
__attribute ((always_inline))
findidx (const wint_t **cpp)
{
============================================================
Index: posix/regcomp.c
--- posix/regcomp.c 5 Mar 2004 10:43:54 -0000 1.80
+++ posix/regcomp.c 23 Sep 2004 18:32:06 -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. */
- static inline int32_t
+ auto 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. */
- static inline unsigned int
+ auto 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. */
- static inline reg_errcode_t
+ auto 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. */
- static inline reg_errcode_t
+ auto inline reg_errcode_t
__attribute ((always_inline))
build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name)
re_charset_t *mbcset;
============================================================
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 23 Sep 2004 18:32:06 -0000
@@ -355,7 +386,8 @@ elf_machine_plt_value (struct link_map *
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
MAP is the object containing the reloc. */
-static inline void
+auto 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,
}
}
-static inline void
+auto 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 = l_addr + reloc->r_addend;
}
-static inline void
+auto inline void
+__attribute ((always_inline))
elf_machine_lazy_rel (struct link_map *map,
Elf64_Addr l_addr, const Elf64_Rela *reloc)
{
============================================================
Index: iconv/iconvconfig.c
--- iconv/iconvconfig.c 17 May 2004 18:37:11 -0000 1.19
+++ iconv/iconvconfig.c 23 Sep 2004 18:32:07 -0000
@@ -1011,7 +1011,8 @@ write_output (void)
char finalname[prefix_len + sizeof (GCONV_MODULES_CACHE)];
/* Function to insert the names. */
- static void name_insert (const void *nodep, VISIT value, int level)
+ auto void
+ name_insert (const void *nodep, VISIT value, int level)
{
struct name *name;
unsigned int idx;
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SUSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: remove static from inline functions in local scope for GCC 4.0
2004-09-23 19:00 remove static from inline functions in local scope for GCC 4.0 Andreas Jaeger
@ 2004-09-23 20:01 ` Roland McGrath
2004-09-24 5:04 ` Andreas Jaeger
2004-09-24 8:13 ` Andreas Jaeger
0 siblings, 2 replies; 5+ messages in thread
From: Roland McGrath @ 2004-09-23 20:01 UTC (permalink / raw)
To: Andreas Jaeger; +Cc: Glibc hackers
Please use "auto" in all places you remove "static", so it's always clear
that in no case should there be a global definition.
Please test on vanilla 3.3.x as well, and 3.2.x if it's not too much trouble.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: remove static from inline functions in local scope for GCC 4.0
2004-09-23 20:01 ` Roland McGrath
@ 2004-09-24 5:04 ` Andreas Jaeger
2004-09-24 8:13 ` Andreas Jaeger
1 sibling, 0 replies; 5+ messages in thread
From: Andreas Jaeger @ 2004-09-24 5:04 UTC (permalink / raw)
To: Roland McGrath; +Cc: Glibc hackers
[-- Attachment #1: Type: text/plain, Size: 673 bytes --]
Roland McGrath <roland@redhat.com> writes:
> Please use "auto" in all places you remove "static", so it's always clear
> that in no case should there be a global definition.
You're right, I missed two files :-(, I'll change this.
> Please test on vanilla 3.3.x as well, and 3.2.x if it's not too much trouble.
Using 3.3 vanilla is no problem since I have one installed in an extra
directory but 3.2 needs to be compiled - I'll try that now and report
back,
Andreas
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SUSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: remove static from inline functions in local scope for GCC 4.0
2004-09-23 20:01 ` Roland McGrath
2004-09-24 5:04 ` Andreas Jaeger
@ 2004-09-24 8:13 ` Andreas Jaeger
2004-09-24 9:11 ` Roland McGrath
1 sibling, 1 reply; 5+ messages in thread
From: Andreas Jaeger @ 2004-09-24 8:13 UTC (permalink / raw)
To: Roland McGrath; +Cc: Glibc hackers
[-- Attachment #1: Type: text/plain, Size: 683 bytes --]
Roland McGrath <roland@redhat.com> writes:
> Please use "auto" in all places you remove "static", so it's always clear
> that in no case should there be a global definition.
>
> Please test on vanilla 3.3.x as well, and 3.2.x if it's not too much trouble.
3.2 is too much trouble - I cannot build 3.2 out of the box on my
current system and older ones have too old binutils :-(
3.3 vanilla testing was ok.
Ok to commit with the changed patch using "auto" everywhere?
Andreas
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SUSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
[-- Attachment #2: Type: application/pgp-signature, Size: 188 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: remove static from inline functions in local scope for GCC 4.0
2004-09-24 8:13 ` Andreas Jaeger
@ 2004-09-24 9:11 ` Roland McGrath
0 siblings, 0 replies; 5+ messages in thread
From: Roland McGrath @ 2004-09-24 9:11 UTC (permalink / raw)
To: Andreas Jaeger; +Cc: Glibc hackers
> 3.3 vanilla testing was ok.
>
> Ok to commit with the changed patch using "auto" everywhere?
Ok by me.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-09-24 9:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-23 19:00 remove static from inline functions in local scope for GCC 4.0 Andreas Jaeger
2004-09-23 20:01 ` Roland McGrath
2004-09-24 5:04 ` Andreas Jaeger
2004-09-24 8:13 ` Andreas Jaeger
2004-09-24 9:11 ` Roland McGrath
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).