Alexandre Julliard : dbghelp: Use sysconf() instead of getpagesize().
Alexandre Julliard
julliard at winehq.org
Wed Jan 9 13:30:37 CST 2013
Module: wine
Branch: master
Commit: a81996d757a484cb4f3a41651b1ececb3889dfc6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a81996d757a484cb4f3a41651b1ececb3889dfc6
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Jan 8 22:01:40 2013 +0100
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 92b4a31..874835d 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 4d908a6..1aaa7f1 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);
More information about the wine-cvs
mailing list