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