diff --git a/ChangeLog b/ChangeLog index 9158427ca9..e99d50a971 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2002-01-29 Ulrich Drepper + * sysdeps/ia64/dl-lookupcfg.h (DL_AUTO_FUNCTION_ADDRESS): Add cast + to avoid warning + (DL_STATIC_FUNCTION_ADDRESS): Likewise. + * elf/dl-lookup.c: Only define or handle _dl_num_relocations for the SHARED version. * elf/dl-reloc.c: Likewise for _dl_num_cache_relocations. diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 86b5c0dc05..ae8df270e9 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -64,7 +64,7 @@ struct sym_val unsigned long int _dl_num_relocations; # define bump_num_relocation() ++_dl_num_relocations #else -# define bump_num_relocation() 0 +# define bump_num_relocation() ((void) 0) #endif diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c index 748aa3b8e2..bfab6a2bda 100644 --- a/elf/dl-reloc.c +++ b/elf/dl-reloc.c @@ -32,7 +32,7 @@ unsigned long int _dl_num_cache_relocations; # define bump_num_cache_relocations() ++_dl_num_cache_relocations #else -# define bump_num_cache_relocations() 0 +# define bump_num_cache_relocations() ((void) 0) #endif @@ -118,7 +118,7 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], (ELFW(ST_BIND) ((*ref)->st_info) != STB_LOCAL \ ? ((__builtin_expect ((*ref) == l->l_lookup_cache.sym, 0) \ && elf_machine_type_class (r_type) == l->l_lookup_cache.type_class) \ - ? (bump_num_cache_relocations, \ + ? (bump_num_cache_relocations (), \ (*ref) = l->l_lookup_cache.ret, \ l->l_lookup_cache.value) \ : ({ lookup_t _lr; \ @@ -138,7 +138,7 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], (ELFW(ST_BIND) ((*ref)->st_info) != STB_LOCAL \ ? ((__builtin_expect ((*ref) == l->l_lookup_cache.sym, 0) \ && elf_machine_type_class (r_type) == l->l_lookup_cache.type_class) \ - ? (bump_num_cache_relocations, \ + ? (bump_num_cache_relocations (), \ (*ref) = l->l_lookup_cache.ret, \ l->l_lookup_cache.value) \ : ({ lookup_t _lr; \ diff --git a/elf/rtld.c b/elf/rtld.c index b3698ad1b8..45b15fd8f2 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -152,7 +152,9 @@ _dl_start (void *arg) { struct link_map bootstrap_map; hp_timing_t start_time; +#if !__GNUC_PREREQ (2, 96) size_t cnt; +#endif /* This #define produces dynamic linking inline functions for bootstrap relocation instead of general-purpose relocation. */ diff --git a/sysdeps/ia64/dl-lookupcfg.h b/sysdeps/ia64/dl-lookupcfg.h index 76be84322a..0beb7dda59 100644 --- a/sysdeps/ia64/dl-lookupcfg.h +++ b/sysdeps/ia64/dl-lookupcfg.h @@ -41,16 +41,16 @@ extern void _dl_unmap (struct link_map *map); #define DL_AUTO_FUNCTION_ADDRESS(map, addr) \ ({ \ - unsigned long fptr[2]; \ - fptr[0] = (addr); \ + unsigned long int fptr[2]; \ + fptr[0] = (unsigned long int) (addr); \ fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \ (Elf64_Addr) fptr; \ }) #define DL_STATIC_FUNCTION_ADDRESS(map, addr) \ ({ \ - static unsigned long fptr[2]; \ - fptr[0] = (addr); \ + static unsigned long int fptr[2]; \ + fptr[0] = (unsigned long int) (addr); \ fptr[1] = (map)->l_info[DT_PLTGOT]->d_un.d_ptr; \ (Elf64_Addr) fptr; \ })