* sysdeps/generic/wordexp.c (exec_comm_child): Add inline keyword.

Patch by Dan Kegel <dank@kegel.com>.

	* 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  <jakub@redhat.com>
This commit is contained in:
Roland McGrath 2005-03-15 22:57:31 +00:00
parent fdc07525f4
commit 1b243ca9a8
9 changed files with 73 additions and 24 deletions

View File

@ -1,3 +1,25 @@
2005-03-15 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/wordexp.c (exec_comm_child): Add inline keyword.
Patch by Dan Kegel <dank@kegel.com>.
* 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 <jakub@redhat.com>
[BZ #789]

View File

@ -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

View File

@ -1,3 +1,13 @@
2005-03-08 Paul Eggert <eggert@cs.ucla.edu>
* 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 <jas@extundo.com >
* iconvme.h: New file, extracted from toutf8.c but improved.

View File

@ -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 <rth@tamu.edu>.
@ -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)
{

View File

@ -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)
{

View File

@ -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,

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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)
{