• Chris Lamb's avatar
    Don't assume the __x86_64__ pointer size to avoid warnings on x32. · d0089cf2
    Chris Lamb authored
    __x86_64__ is defined on the on the x32 architecture and the conditionals in
    debug.c therefore assume the size of (void*) etc:
    
      debug.c: In function 'getMcontextEip':
      debug.c:757:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
           return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
                  ^
      debug.c: In function 'logRegisters':
      debug.c:920:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
           logStackContent((void**)uc->uc_mcontext.gregs[15]);
    
    We can remedy this by checking for __ILP32__ first. See:
    
      https://wiki.debian.org/ArchitectureSpecificsMemo
    
    ... for more info.
    d0089cf2
debug.c 56.4 KB