aboutsummaryrefslogtreecommitdiff
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 9158427..e99d50a 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 86b5c0d..ae8df27 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 748aa3b..bfab6a2 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 b3698ad..45b15fd 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 76be843..0beb7dd 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; \
})