mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-10 05:03:06 +03:00
* 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:
22
ChangeLog
22
ChangeLog
@@ -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>
|
2005-03-15 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
[BZ #789]
|
[BZ #789]
|
||||||
|
@@ -32,29 +32,29 @@
|
|||||||
copying memory, breaking the very code written to handle the
|
copying memory, breaking the very code written to handle the
|
||||||
unaligned cases. */
|
unaligned cases. */
|
||||||
# if ! ELF_MACHINE_NO_REL
|
# 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,
|
elf_machine_rel (struct link_map *map, const ElfW(Rel) *reloc,
|
||||||
const ElfW(Sym) *sym, const struct r_found_version *version,
|
const ElfW(Sym) *sym, const struct r_found_version *version,
|
||||||
void *const reloc_addr);
|
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,
|
elf_machine_rel_relative (ElfW(Addr) l_addr, const ElfW(Rel) *reloc,
|
||||||
void *const reloc_addr);
|
void *const reloc_addr);
|
||||||
# endif
|
# endif
|
||||||
# if ! ELF_MACHINE_NO_RELA
|
# 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,
|
elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
|
||||||
const ElfW(Sym) *sym, const struct r_found_version *version,
|
const ElfW(Sym) *sym, const struct r_found_version *version,
|
||||||
void *const reloc_addr);
|
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,
|
elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
|
||||||
void *const reloc_addr);
|
void *const reloc_addr);
|
||||||
# endif
|
# endif
|
||||||
# if ELF_MACHINE_NO_RELA || defined ELF_MACHINE_PLT_REL
|
# 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,
|
elf_machine_lazy_rel (struct link_map *map,
|
||||||
ElfW(Addr) l_addr, const ElfW(Rel) *reloc);
|
ElfW(Addr) l_addr, const ElfW(Rel) *reloc);
|
||||||
# else
|
# else
|
||||||
auto void __attribute__((always_inline))
|
auto inline void __attribute__((always_inline))
|
||||||
elf_machine_lazy_rel (struct link_map *map,
|
elf_machine_lazy_rel (struct link_map *map,
|
||||||
ElfW(Addr) l_addr, const ElfW(Rela) *reloc);
|
ElfW(Addr) l_addr, const ElfW(Rela) *reloc);
|
||||||
# endif
|
# endif
|
||||||
|
@@ -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 >
|
2005-02-12 Simon Josefsson <jas@extundo.com >
|
||||||
|
|
||||||
* iconvme.h: New file, extracted from toutf8.c but improved.
|
* iconvme.h: New file, extracted from toutf8.c but improved.
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* Machine-dependent ELF dynamic relocation inline functions. Alpha version.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Richard Henderson <rth@tamu.edu>.
|
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).
|
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
|
||||||
MAP is the object containing the reloc. */
|
MAP is the object containing the reloc. */
|
||||||
auto inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_rela (struct link_map *map,
|
elf_machine_rela (struct link_map *map,
|
||||||
const Elf64_Rela *reloc,
|
const Elf64_Rela *reloc,
|
||||||
const Elf64_Sym *sym,
|
const Elf64_Sym *sym,
|
||||||
@@ -504,6 +505,7 @@ elf_machine_rela (struct link_map *map,
|
|||||||
#define ELF_MACHINE_REL_RELATIVE 1
|
#define ELF_MACHINE_REL_RELATIVE 1
|
||||||
|
|
||||||
auto inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
|
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
|
||||||
void *const reloc_addr_arg)
|
void *const reloc_addr_arg)
|
||||||
{
|
{
|
||||||
@@ -520,6 +522,7 @@ elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_lazy_rel (struct link_map *map,
|
elf_machine_lazy_rel (struct link_map *map,
|
||||||
Elf64_Addr l_addr, const Elf64_Rela *reloc)
|
Elf64_Addr l_addr, const Elf64_Rela *reloc)
|
||||||
{
|
{
|
||||||
|
@@ -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).
|
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
|
||||||
MAP is the object containing the reloc. */
|
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,
|
elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
|
||||||
const Elf32_Sym *sym, const struct r_found_version *version,
|
const Elf32_Sym *sym, const struct r_found_version *version,
|
||||||
void *const reloc_addr_arg)
|
void *const reloc_addr_arg)
|
||||||
@@ -516,7 +517,8 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
# ifndef RTLD_BOOTSTRAP
|
# ifndef RTLD_BOOTSTRAP
|
||||||
static inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||||
const Elf32_Sym *sym, const struct r_found_version *version,
|
const Elf32_Sym *sym, const struct r_found_version *version,
|
||||||
void *const reloc_addr_arg)
|
void *const reloc_addr_arg)
|
||||||
@@ -596,7 +598,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
|||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
static inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
|
elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
|
||||||
void *const reloc_addr_arg)
|
void *const reloc_addr_arg)
|
||||||
{
|
{
|
||||||
@@ -605,7 +608,8 @@ elf_machine_rel_relative (Elf32_Addr l_addr, const Elf32_Rel *reloc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
# ifndef RTLD_BOOTSTRAP
|
# ifndef RTLD_BOOTSTRAP
|
||||||
static inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
|
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
|
||||||
void *const reloc_addr_arg)
|
void *const reloc_addr_arg)
|
||||||
{
|
{
|
||||||
@@ -614,7 +618,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
|
|||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
static inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_lazy_rel (struct link_map *map,
|
elf_machine_lazy_rel (struct link_map *map,
|
||||||
Elf32_Addr l_addr, const Elf32_Rel *reloc)
|
Elf32_Addr l_addr, const Elf32_Rel *reloc)
|
||||||
{
|
{
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/* Machine-dependent ELF dynamic relocation inline functions. Stub version.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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
|
LOADADDR is the load address of the object; INFO is an array indexed
|
||||||
by DT_* of the .dynamic section info. */
|
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],
|
elf_machine_rel (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM],
|
||||||
const Elf32_Rel *reloc, const Elf32_Sym *sym,
|
const Elf32_Rel *reloc, const Elf32_Sym *sym,
|
||||||
Elf32_Addr (*resolve) (const Elf32_Sym **ref,
|
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],
|
elf_machine_rela (Elf32_Addr loadaddr, Elf32_Dyn *info[DT_NUM],
|
||||||
const Elf32_Rel *reloc, const Elf32_Sym *sym,
|
const Elf32_Rel *reloc, const Elf32_Sym *sym,
|
||||||
Elf32_Addr (*resolve) (const Elf32_Sym **ref,
|
Elf32_Addr (*resolve) (const Elf32_Sym **ref,
|
||||||
|
@@ -809,7 +809,7 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Function called by child process in exec_comm() */
|
/* Function called by child process in exec_comm() */
|
||||||
static void
|
static inline void
|
||||||
internal_function __attribute__ ((always_inline))
|
internal_function __attribute__ ((always_inline))
|
||||||
exec_comm_child (char *comm, int *fildes, int showerr, int noexec)
|
exec_comm_child (char *comm, int *fildes, int showerr, int noexec)
|
||||||
{
|
{
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* Machine-dependent ELF dynamic relocation inline functions. SPARC version.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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).
|
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
|
||||||
MAP is the object containing the reloc. */
|
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,
|
elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||||
const Elf32_Sym *sym, const struct r_found_version *version,
|
const Elf32_Sym *sym, const struct r_found_version *version,
|
||||||
void *const reloc_addr_arg)
|
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,
|
elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
|
||||||
void *const reloc_addr_arg)
|
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;
|
*reloc_addr += l_addr + reloc->r_addend;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_lazy_rel (struct link_map *map,
|
elf_machine_lazy_rel (struct link_map *map,
|
||||||
Elf32_Addr l_addr, const Elf32_Rela *reloc)
|
Elf32_Addr l_addr, const Elf32_Rela *reloc)
|
||||||
{
|
{
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/* Machine-dependent ELF dynamic relocation inline functions. Sparc64 version.
|
/* 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.
|
Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
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).
|
/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
|
||||||
MAP is the object containing the reloc. */
|
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,
|
elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
|
||||||
const Elf64_Sym *sym, const struct r_found_version *version,
|
const Elf64_Sym *sym, const struct r_found_version *version,
|
||||||
void *const reloc_addr_arg)
|
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,
|
elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
|
||||||
void *const reloc_addr_arg)
|
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;
|
*reloc_addr = l_addr + reloc->r_addend;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
auto inline void
|
||||||
|
__attribute__ ((always_inline))
|
||||||
elf_machine_lazy_rel (struct link_map *map,
|
elf_machine_lazy_rel (struct link_map *map,
|
||||||
Elf64_Addr l_addr, const Elf64_Rela *reloc)
|
Elf64_Addr l_addr, const Elf64_Rela *reloc)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user