aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elf/dl-conflict.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/elf/dl-conflict.c b/elf/dl-conflict.c
index f4c20eaad0..0f863ac893 100644
--- a/elf/dl-conflict.c
+++ b/elf/dl-conflict.c
@@ -24,6 +24,7 @@
#include <unistd.h>
#include <ldsodefs.h>
#include <sys/mman.h>
+#include <sys/param.h>
#include <sys/types.h>
#include "dynamic-link.h"
@@ -47,8 +48,10 @@ _dl_resolve_conflicts (struct link_map *l, ElfW(Rela) *conflict,
#define RESOLVE_CONFLICT_FIND_MAP(map, r_offset) \
do \
{ \
- while (resolve_conflict_map->l_map_end < (r_offset) \
- || resolve_conflict_map->l_map_start > (r_offset)) \
+ while ((resolve_conflict_map->l_map_end \
+ < (ElfW(Addr))(r_offset)) \
+ || (resolve_conflict_map->l_map_start \
+ > (ElfW(Addr))(r_offset))) \
resolve_conflict_map \
= resolve_conflict_map->l_next; \
(map) = resolve_conflict_map; \