about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--elf/dl-lookup.c2
-rw-r--r--elf/dl-reloc.c6
-rw-r--r--elf/rtld.c2
-rw-r--r--sysdeps/ia64/dl-lookupcfg.h8
5 files changed, 14 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 9158427ca9..e99d50a971 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2002-01-29  Ulrich Drepper  <drepper@redhat.com>
 
+	* 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;					\
 })