This is the mail archive of the
cygwin-apps-cvs
mailing list for the cygwin-apps project.
rebase/imagehelper ChangeLog getimageinfos.cc ...
- From: corinna at sourceware dot org
- To: cygwin-apps-cvs at sourceware dot org
- Date: 8 Jul 2011 07:18:55 -0000
- Subject: rebase/imagehelper ChangeLog getimageinfos.cc ...
CVSROOT: /sourceware/projects/cygwin-apps-home/cvsfiles
Module name: rebase
Changes by: corinna@sourceware.org 2011-07-08 07:18:55
Modified files:
imagehelper : ChangeLog getimageinfos.cc imagehelper.h
objectfile.cc objectfile.h rebase_main.cc
rebaseimage.cc rebind_main.cc sections.cc
sections.h
Log message:
Allow to work with 64 bit images and make code 64 bit clean.
* getimageinfos.cc (GetImageInfos64); New function, take over
functionality from GetImageInfos and handle 32 and 64 bit images.
(GetImageInfos): Just call GetImageInfos64.
* imagehelper.h (ReBaseImage64): Declare.
(GetImageInfos64): Declare.
* objectfile.cc (Win32Path): Fix codepage to CP_OEMCP.
(ObjectFile::ObjectFile): Set new is64bit_img flag. Set ImageBase
according to address size of platform.
(LinkedObjectFile::LinkedObjectFile): Handle 64 bit images.
(LinkedObjectFile::rebind): Ditto. Use uintptr_t rather than uint.
(LinkedObjectFile::unbind): Ditto.
* objectfile.h (ObjectFile::getNTHeader): Remove.
(ObjectFile::getNTHeader64): New method.
(ObjectFile::getNTHeader32): New method.
(ObjectFile::is64bit): New method.
(ObjectFile::is32bit): New method.
(ObjectFile::ImageBase): Convert to ULONG64.
(ObjectFile::ntheader): Change type to PIMAGE_NT_HEADERS32
and make private.
(ObjectFile::is64bit_img): New private BOOL member.
* rebase_main.cc: Convert all base variables to ULONG64 and
call ReBaseImage64.
* rebaseimage.cc (ReBaseImage64): New function, take over
functionality from ReBaseImage and handle 32 and 64 bit images.
(ReBaseImage): Just call ReBaseImage64.
* rebind_main.cc (main): Drop unused variables.
* sections.cc (Section::Section): Use uintptr_t rather than uint.
(Section::isIn): Handle 64 bit images.
(Relocations::check): Use uintptr_t rather than uint.
(Relocations::relocate): Ditto.
* sections.h (SectionList::FileBase): Convert to uintptr_t.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/ChangeLog.diff?cvsroot=cygwin-apps&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/getimageinfos.cc.diff?cvsroot=cygwin-apps&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/imagehelper.h.diff?cvsroot=cygwin-apps&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/objectfile.cc.diff?cvsroot=cygwin-apps&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/objectfile.h.diff?cvsroot=cygwin-apps&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/rebase_main.cc.diff?cvsroot=cygwin-apps&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/rebaseimage.cc.diff?cvsroot=cygwin-apps&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/rebind_main.cc.diff?cvsroot=cygwin-apps&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/sections.cc.diff?cvsroot=cygwin-apps&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/rebase/imagehelper/sections.h.diff?cvsroot=cygwin-apps&r1=1.3&r2=1.4