From 1b243ca9a888b3902a0f97cf50ce4ea1d29995ce Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 15 Mar 2005 22:57:31 +0000 Subject: * sysdeps/generic/wordexp.c (exec_comm_child): Add inline keyword. Patch by Dan Kegel . * elf/dynamic-link.h (elf_machine_rel, elf_machine_rel_relative, elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): Add inline keyword. * sysdeps/alpha/dl-machine.h (elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): Add always_inline attribute. * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): Likewise. Change static inline into auto inline. * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): Likewise. * sysdeps/generic/dl-machine.h (elf_machine_rel, elf_machine_rela): Likewise. * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rel_relative, elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): Likewise. 2005-03-15 Jakub Jelinek --- ChangeLog | 22 ++++++++++++++++++++++ elf/dynamic-link.h | 12 ++++++------ libidn/ChangeLog | 10 ++++++++++ sysdeps/alpha/dl-machine.h | 5 ++++- sysdeps/arm/dl-machine.h | 15 ++++++++++----- sysdeps/generic/dl-machine.h | 9 ++++++--- sysdeps/generic/wordexp.c | 2 +- sysdeps/sparc/sparc32/dl-machine.h | 11 +++++++---- sysdeps/sparc/sparc64/dl-machine.h | 11 +++++++---- 9 files changed, 73 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index f073d570c4..4d018b3b90 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2005-03-15 Jakub Jelinek + + * sysdeps/generic/wordexp.c (exec_comm_child): Add inline keyword. + Patch by Dan Kegel . + + * elf/dynamic-link.h (elf_machine_rel, elf_machine_rel_relative, + elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): + Add inline keyword. + * sysdeps/alpha/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative, elf_machine_lazy_rel): Add always_inline + attribute. + * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative, elf_machine_lazy_rel): Likewise. Change + static inline into auto inline. + * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela, + elf_machine_rela_relative, elf_machine_lazy_rel): Likewise. + * sysdeps/generic/dl-machine.h (elf_machine_rel, elf_machine_rela): + Likewise. + * sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rel_relative, + elf_machine_rela, elf_machine_rela_relative, elf_machine_lazy_rel): + Likewise. + 2005-03-15 Jakub Jelinek [BZ #789] diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h index 1d6806f50c..cf0d223c45 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -32,29 +32,29 @@ copying memory, breaking the very code written to handle the unaligned cases. */ # if ! ELF_MACHINE_NO_REL -auto void __attribute__((always_inline)) +auto inline void __attribute__((always_inline)) elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc, const ElfW(Sym) *sym, const struct r_found_version *version, void *const reloc_addr); -auto void __attribute__((always_inline)) +auto inline void __attribute__((always_inline)) elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc, void *const reloc_addr); # endif # if ! ELF_MACHINE_NO_RELA -auto void __attribute__((always_inline)) +auto inline void __attribute__((always_inline)) elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc, const ElfW(Sym) *sym, const struct r_found_version *version, void *const reloc_addr); -auto void __attribute__((always_inline)) +auto inline void __attribute__((always_inline)) elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc, void *const reloc_addr); # endif # if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL -auto void __attribute__((always_inline)) +auto inline void __attribute__((always_inline)) elf_machine_lazy_rel (struct link_map *map, ElfW(Addr) l_addr, const ElfW(Rel) *reloc); # else -auto void __attribute__((always_inline)) +auto inline void __attribute__((always_inline)) elf_machine_lazy_rel (struct link_map *map, ElfW(Addr) l_addr, const ElfW(Rela) *reloc); # endif diff --git a/libidn/ChangeLog b/libidn/ChangeLog index df3a6269e8..f9303743fc 100644 --- a/libidn/ChangeLog +++ b/libidn/ChangeLog @@ -1,3 +1,13 @@ +2005-03-08 Paul Eggert + + * iconvme.c (SIZE_MAX): New macro, if not already defined. + (iconv_string): Don't guess a size-zero buffer, as that might cause + buffer overrun. Instead, avoid multiplying by MB_LEN_MAX if the + result would be 'too large', where 'too large' is (heuristically) + the square root of SIZE_MAX, divided by MB_LEN_MAX to allay + overflow concerns. This will prevent some unwanted malloc failures + when the inputs are very large. + 2005-02-12 Simon Josefsson * iconvme.h: New file, extracted from toutf8.c but improved. diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h index 4166e8c498..173a4111f8 100644 --- a/sysdeps/alpha/dl-machine.h +++ b/sysdeps/alpha/dl-machine.h @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. Alpha version. - Copyright (C) 1996-2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1996-2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson . @@ -376,6 +376,7 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc, /* Perform the relocation specified by RELOC and SYM (which is fully resolved). MAP is the object containing the reloc. */ auto inline void +__attribute__ ((always_inline)) elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc, const Elf64_Sym *sym, @@ -504,6 +505,7 @@ elf_machine_rela (struct link_map *map, #define ELF_MACHINE_REL_RELATIVE 1 auto inline void +__attribute__ ((always_inline)) elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc, void *const reloc_addr_arg) { @@ -520,6 +522,7 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc, } auto inline void +__attribute__ ((always_inline)) elf_machine_lazy_rel (struct link_map *map, Elf64_Addr l_addr, const Elf64_Rela *reloc) { diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h index b85b4f117f..0fe47b2f80 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -391,7 +391,8 @@ fix_bad_pc24 (Elf32_Addr *const reloc_addr, Elf32_Addr value) /* 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_rel (struct link_map *map, const Elf32_Rel *reloc, const Elf32_Sym *sym, const struct r_found_version *version, void *const reloc_addr_arg) @@ -516,7 +517,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, } # ifndef RTLD_BOOTSTRAP -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, const Elf32_Sym *sym, const struct r_found_version *version, void *const reloc_addr_arg) @@ -596,7 +598,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, } # endif -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc, void *const reloc_addr_arg) { @@ -605,7 +608,8 @@ elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc, } # ifndef RTLD_BOOTSTRAP -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, void *const reloc_addr_arg) { @@ -614,7 +618,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, } # endif -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_lazy_rel (struct link_map *map, Elf32_Addr l_addr, const Elf32_Rel *reloc) { diff --git a/sysdeps/generic/dl-machine.h b/sysdeps/generic/dl-machine.h index 8b4425cea4..c3459f5e32 100644 --- a/sysdeps/generic/dl-machine.h +++ b/sysdeps/generic/dl-machine.h @@ -1,5 +1,6 @@ /* Machine-dependent ELF dynamic relocation inline functions. Stub version. - Copyright (C) 1995,1996,1997,1999,2000,2001 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1999, 2000, 2001, 2005 + 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 @@ -64,7 +65,8 @@ elf_machine_fixup_plt (struct link_map *map, lookup_t t, LOADADDR is the load address of the object; INFO is an array indexed by DT_* of the .dynamic section info. */ -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_rel (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM], const Elf32_Rel *reloc, const Elf32_Sym *sym, Elf32_Addr (*resolve) (const Elf32_Sym **ref, @@ -87,7 +89,8 @@ elf_machine_rel (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM], } -static inline Elf32_Addr +auto inline Elf32_Addr +__attribute__ ((always_inline)) elf_machine_rela (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM], const Elf32_Rel *reloc, const Elf32_Sym *sym, Elf32_Addr (*resolve) (const Elf32_Sym **ref, diff --git a/sysdeps/generic/wordexp.c b/sysdeps/generic/wordexp.c index c3d382fb95..06d38f6b24 100644 --- a/sysdeps/generic/wordexp.c +++ b/sysdeps/generic/wordexp.c @@ -809,7 +809,7 @@ parse_arith (char **word, size_t *word_length, size_t *max_length, } /* Function called by child process in exec_comm() */ -static void +static inline void internal_function __attribute__ ((always_inline)) exec_comm_child (char *comm, int *fildes, int showerr, int noexec) { diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h index 52fc6329dd..d0af232d48 100644 --- a/sysdeps/sparc/sparc32/dl-machine.h +++ b/sysdeps/sparc/sparc32/dl-machine.h @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. SPARC version. - Copyright (C) 1996-2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1996-2003, 2004, 2005 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 @@ -411,7 +411,8 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, /* 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 Elf32_Rela *reloc, const Elf32_Sym *sym, const struct r_found_version *version, void *const reloc_addr_arg) @@ -593,7 +594,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, } } -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, void *const reloc_addr_arg) { @@ -601,7 +603,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, *reloc_addr += l_addr + reloc->r_addend; } -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_lazy_rel (struct link_map *map, Elf32_Addr l_addr, const Elf32_Rela *reloc) { diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h index 474aa0e6e6..72b88e235c 100644 --- a/sysdeps/sparc/sparc64/dl-machine.h +++ b/sysdeps/sparc/sparc64/dl-machine.h @@ -1,5 +1,5 @@ /* Machine-dependent ELF dynamic relocation inline functions. Sparc64 version. - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -238,7 +238,8 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc, /* 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) @@ -430,7 +431,8 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc, } } -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) { @@ -438,7 +440,8 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc, *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) { -- cgit 1.4.1