From 7df9d0a317c1cf1f51498d994c3b281d506830e9 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Thu, 23 Sep 2004 07:05:40 +0000 Subject: Make do_rem() safe. From Peter Kjellerstedt. --- ldso/ldso/arm/dl-sysdep.h | 2 +- ldso/ldso/cris/dl-sysdep.h | 2 +- ldso/ldso/frv/dl-sysdep.h | 2 +- ldso/ldso/i386/dl-sysdep.h | 2 +- ldso/ldso/mips/dl-sysdep.h | 2 +- ldso/ldso/powerpc/dl-sysdep.h | 2 +- ldso/ldso/sh64/dl-sysdep.h | 2 +- ldso/ldso/sparc/dl-sysdep.h | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) (limited to 'ldso') diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h index ebd258a7f..6863e35a2 100644 --- a/ldso/ldso/arm/dl-sysdep.h +++ b/ldso/ldso/arm/dl-sysdep.h @@ -42,7 +42,7 @@ static inline unsigned long arm_modulus(unsigned long m, unsigned long p) } return m; } -#define do_rem(result, n, base) result=arm_modulus(n,base); +#define do_rem(result, n, base) ((result) = arm_modulus(n, base)) /* Here we define the magic numbers that this dynamic loader should accept */ #define MAGIC1 EM_ARM diff --git a/ldso/ldso/cris/dl-sysdep.h b/ldso/ldso/cris/dl-sysdep.h index aec396441..ab089072f 100644 --- a/ldso/ldso/cris/dl-sysdep.h +++ b/ldso/ldso/cris/dl-sysdep.h @@ -53,7 +53,7 @@ cris_mod(unsigned long m, unsigned long p) return m; } -#define do_rem(result, n, base) result = cris_mod(n, base); +#define do_rem(result, n, base) ((result) = cris_mod(n, base)) /* 8192 bytes alignment */ #define PAGE_ALIGN 0xffffe000 diff --git a/ldso/ldso/frv/dl-sysdep.h b/ldso/ldso/frv/dl-sysdep.h index d425b5c1c..32d540caf 100644 --- a/ldso/ldso/frv/dl-sysdep.h +++ b/ldso/ldso/frv/dl-sysdep.h @@ -65,7 +65,7 @@ struct funcdesc_value extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden"))); -#define do_rem(result, n, base) result = (n % base) +#define do_rem(result, n, base) ((result) = (n) % (base)) /* 16KiB page alignment. Should perhaps be made dynamic using getpagesize(), based on AT_PAGESZ from auxvt? */ diff --git a/ldso/ldso/i386/dl-sysdep.h b/ldso/ldso/i386/dl-sysdep.h index a92d89574..e8124d669 100644 --- a/ldso/ldso/i386/dl-sysdep.h +++ b/ldso/ldso/i386/dl-sysdep.h @@ -25,7 +25,7 @@ do { \ struct elf_resolve; extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); -#define do_rem(result, n, base) result = (n % base) +#define do_rem(result, n, base) ((result) = (n) % (base)) /* 4096 bytes alignment */ #define PAGE_ALIGN 0xfffff000 diff --git a/ldso/ldso/mips/dl-sysdep.h b/ldso/ldso/mips/dl-sysdep.h index 549bcef9e..45a1f2e4e 100644 --- a/ldso/ldso/mips/dl-sysdep.h +++ b/ldso/ldso/mips/dl-sysdep.h @@ -45,7 +45,7 @@ unsigned long _dl_linux_resolver(unsigned long sym_index, struct elf_resolve; void _dl_perform_mips_global_got_relocations(struct elf_resolve *tpnt); -#define do_rem(result, n, base) result = (n % base) +#define do_rem(result, n, base) ((result) = (n) % (base)) /* 4096 bytes alignment */ #define PAGE_ALIGN 0xfffff000 diff --git a/ldso/ldso/powerpc/dl-sysdep.h b/ldso/ldso/powerpc/dl-sysdep.h index b614318bb..6bbdb8c47 100644 --- a/ldso/ldso/powerpc/dl-sysdep.h +++ b/ldso/ldso/powerpc/dl-sysdep.h @@ -68,7 +68,7 @@ extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_ent void _dl_init_got(unsigned long *lpnt,struct elf_resolve *tpnt); -#define do_rem(result, n, base) result = (n % base) +#define do_rem(result, n, base) ((result) = (n) % (base)) /* 4096 bytes alignment */ #define PAGE_ALIGN 0xfffff000 diff --git a/ldso/ldso/sh64/dl-sysdep.h b/ldso/ldso/sh64/dl-sysdep.h index 266ec681c..98a21aedb 100644 --- a/ldso/ldso/sh64/dl-sysdep.h +++ b/ldso/ldso/sh64/dl-sysdep.h @@ -25,7 +25,7 @@ struct elf_resolve; extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry); -#define do_rem(result, n, base) result = (n % base) +#define do_rem(result, n, base) ((result) = (n) % (base)) /* 4096 bytes alignment */ #define PAGE_ALIGN 0xfffff000 diff --git a/ldso/ldso/sparc/dl-sysdep.h b/ldso/ldso/sparc/dl-sysdep.h index 448bef055..d48120e2d 100644 --- a/ldso/ldso/sparc/dl-sysdep.h +++ b/ldso/ldso/sparc/dl-sysdep.h @@ -84,7 +84,7 @@ sparc_mod(unsigned long m, unsigned long p) return m; } -#define do_rem(result, n, base) result = sparc_mod(n, base); +#define do_rem(result, n, base) ((result) = sparc_mod(n, base)) #endif /* -- cgit v1.2.3