This is the mail archive of the cygwin-apps mailing list for the Cygwin 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]

Re: [patch/rebase] Make imagehelper 64-bit capable (was Re: [patch/rebase] Add a rebase database ...)


On Jul  7 23:43, Charles Wilson wrote:
> On 7/7/2011 3:23 PM, Corinna Vinschen wrote:
> > 	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.
> 
> Looks good to me.

Ok, thanks, I checked this in.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat


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