From a81996d757a484cb4f3a41651b1ececb3889dfc6 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 8 Jan 2013 22:01:40 +0100 Subject: [PATCH] dbghelp: Use sysconf() instead of getpagesize(). --- dlls/dbghelp/elf_module.c | 16 ++++++---------- dlls/dbghelp/macho_module.c | 4 ++-- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index 92b4a316107..874835d4c53 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -102,9 +102,7 @@ struct elf_module_info const char* elf_map_section(struct image_section_map* ism) { struct elf_file_map* fmap = &ism->fmap->u.elf; - - unsigned long pgsz = getpagesize(); - unsigned long ofst, size; + size_t ofst, size, pgsz = sysconf( _SC_PAGESIZE ); assert(ism->fmap->modtype == DMT_ELF); if (ism->sidx < 0 || ism->sidx >= ism->fmap->u.elf.elfhdr.e_shnum || @@ -174,12 +172,10 @@ void elf_unmap_section(struct image_section_map* ism) if (ism->sidx >= 0 && ism->sidx < fmap->elfhdr.e_shnum && !fmap->target_copy && fmap->sect[ism->sidx].mapped != IMAGE_NO_MAP) { - unsigned long pgsz = getpagesize(); - unsigned long ofst, size; - - ofst = fmap->sect[ism->sidx].shdr.sh_offset & ~(pgsz - 1); - size = ((fmap->sect[ism->sidx].shdr.sh_offset + - fmap->sect[ism->sidx].shdr.sh_size + pgsz - 1) & ~(pgsz - 1)) - ofst; + size_t pgsz = sysconf( _SC_PAGESIZE ); + size_t ofst = fmap->sect[ism->sidx].shdr.sh_offset & ~(pgsz - 1); + size_t size = ((fmap->sect[ism->sidx].shdr.sh_offset + + fmap->sect[ism->sidx].shdr.sh_size + pgsz - 1) & ~(pgsz - 1)) - ofst; if (munmap((char*)fmap->sect[ism->sidx].mapped, size) < 0) WARN("Couldn't unmap the section\n"); fmap->sect[ism->sidx].mapped = IMAGE_NO_MAP; @@ -279,7 +275,7 @@ static BOOL elf_map_file(struct elf_map_file_data* emfd, struct image_file_map* struct stat statbuf; int i; Elf_Phdr phdr; - unsigned long tmp, page_mask = getpagesize() - 1; + size_t tmp, page_mask = sysconf( _SC_PAGESIZE ) - 1; char* filename; unsigned len; BOOL ret = FALSE; diff --git a/dlls/dbghelp/macho_module.c b/dlls/dbghelp/macho_module.c index 4d908a639fb..1aaa7f11afc 100644 --- a/dlls/dbghelp/macho_module.c +++ b/dlls/dbghelp/macho_module.c @@ -135,7 +135,7 @@ static void macho_calc_range(const struct macho_file_map* fmap, unsigned offset, unsigned* out_aligned_end, unsigned* out_aligned_len, unsigned* out_misalign) { - unsigned pagemask = getpagesize() - 1; + unsigned pagemask = sysconf( _SC_PAGESIZE ) - 1; unsigned file_offset, misalign; file_offset = fmap->arch_offset + offset; @@ -383,7 +383,7 @@ static int macho_accum_segs_range(struct macho_file_map* fmap, const struct load_command* lc, void* user) { const struct segment_command* sc = (const struct segment_command*)lc; - unsigned tmp, page_mask = getpagesize() - 1; + unsigned tmp, page_mask = sysconf( _SC_PAGESIZE ) - 1; TRACE("(%p/%d, %p, %p) before: 0x%08x - 0x%08x\n", fmap, fmap->fd, lc, user, (unsigned)fmap->segs_start, (unsigned)fmap->segs_size);