This is the mail archive of the cygwin-apps-cvs mailing list for the cygwin-apps project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]