diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-03-19 21:04:10 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2005-03-19 21:04:10 +0000 |
commit | 8f8ebbc438fcb4b22fba8beb3ef3d1aa59d9d7bf (patch) | |
tree | b7091affa76bbaf47e78a59dfc72b2102554eaf9 /sysdeps/generic | |
parent | f5c3480e830e94e0e51a0bdb1053944daed8bc58 (diff) | |
download | glibc-8f8ebbc438fcb4b22fba8beb3ef3d1aa59d9d7bf.tar glibc-8f8ebbc438fcb4b22fba8beb3ef3d1aa59d9d7bf.tar.gz glibc-8f8ebbc438fcb4b22fba8beb3ef3d1aa59d9d7bf.tar.bz2 glibc-8f8ebbc438fcb4b22fba8beb3ef3d1aa59d9d7bf.zip |
Updated to fedora-glibc-20050319T1907cvs/fedora-glibc-2_3_4-15
Diffstat (limited to 'sysdeps/generic')
-rw-r--r-- | sysdeps/generic/dl-machine.h | 9 | ||||
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 10 | ||||
-rw-r--r-- | sysdeps/generic/strchrnul.c | 6 | ||||
-rw-r--r-- | sysdeps/generic/tls-macros.h | 12 | ||||
-rw-r--r-- | sysdeps/generic/wordexp.c | 2 |
5 files changed, 28 insertions, 11 deletions
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/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 08039e18ca..dd1b2c8345 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -694,10 +694,7 @@ extern char **_dl_argv_internal attribute_hidden /* The array with message we print as a last resort. */ extern const char _dl_out_of_memory[]; -#ifdef IS_IN_rtld -/* XXX #ifdef should go away. */ -extern const char _dl_out_of_memory_internal[] attribute_hidden; -#endif +rtld_hidden_proto (_dl_out_of_memory) /* Flag set at startup and cleared when the last initializer has run. */ extern int _dl_starting_up; @@ -895,6 +892,11 @@ extern void _dl_init (struct link_map *main_map, int argc, char **argv, initializer functions have completed. */ extern void _dl_fini (void) internal_function; +/* Sort array MAPS according to dependencies of the contained objects. */ +extern void _dl_sort_fini (struct link_map *l, struct link_map **maps, + size_t nmaps, char *used, Lmid_t ns) + internal_function; + /* The dynamic linker calls this function before and having changing any shared object mappings. The `r_state' member of `struct r_debug' says what change is taking place. This function's address is diff --git a/sysdeps/generic/strchrnul.c b/sysdeps/generic/strchrnul.c index f04b303b82..88b96dd126 100644 --- a/sysdeps/generic/strchrnul.c +++ b/sysdeps/generic/strchrnul.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,93,94,95,96,97,99,2000 Free Software Foundation, Inc. +/* Copyright (C) 1991,1993-1997,99,2000,2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and @@ -43,8 +43,8 @@ __strchrnul (s, c_in) /* Handle the first few characters by reading one character at a time. Do this until CHAR_PTR is aligned on a longword boundary. */ - for (char_ptr = s; ((unsigned long int) char_ptr - & (sizeof (longword) - 1)) != 0; + for (char_ptr = (const unsigned char *) s; + ((unsigned long int) char_ptr & (sizeof (longword) - 1)) != 0; ++char_ptr) if (*char_ptr == c || *char_ptr == '\0') return (void *) char_ptr; diff --git a/sysdeps/generic/tls-macros.h b/sysdeps/generic/tls-macros.h new file mode 100644 index 0000000000..0a08f7c145 --- /dev/null +++ b/sysdeps/generic/tls-macros.h @@ -0,0 +1,12 @@ +/* Macros to support TLS testing in times of missing compiler support. + Stub version. + + These macros should yield int * expressions for the TLS symbol X + accessed using the various TLS access models. Macros for some machines + are defined in elf/tls-macros.h, but ports can instead provide this file. + +#define TLS_LE(x) +#define TLS_IE(x) +#define TLS_LD(x) +#define TLS_GD(x) +*/ 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) { |