This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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: w64 native support


On Wed, Apr 11, 2007 at 03:42:31PM +0200, Kai Tietz wrote:
> Hello,
> 
> I did the windres.h patch changing the long to int types, so that problem 
> #2737 seems to be solved.

No, it doesn't work on big endian host. You should array of char
in external data structures.

> Additionally I introduced in bfd-in.h the type "bfd_hostptr_t" and its 
> hexadeicmal printf representation in macro "BFD_HOSTPTR_T_PRT_X". For now, 
> AFAIS, only WIN64 has a long type lesser than a pointer, therefore I made 
> the define dependent on the definiton of _WIN64. The modification in 

I don't believe we need BFD_HOSTPTR_T_PRT_X. As I said before, the
PE problem is there is no clear line between external and internal
data structues.  You should be able to use long long, even in big
endian, internally to hold any PE data type. You just need to convert
it to the proper size in proper endian when you write it out. You
shouldn't have any problem when it is done peoperly.


H.J.


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