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: ctor/dtor correction for target x86_64-pc-mingw32


On 24 July 2007 13:01, Kai Tietz wrote:

> Hi Daniel,
> 
>> On Tue, Jul 24, 2007 at 01:00:58PM +0200, Kai Tietz wrote:
>>> Hi,
>>> 
>>> The linker script corrupts the proper build of the ctor/dtor list of this
>>> target, because it lacks to make sure first and last elements of those
> 
>>> list are 8 byte sized. This patch corrects this failure I made :(
>> 
>> Shouldn't the first one be LONG (-1); LONG (-1); ?
> 
> It doesn't matters, because the ctor/dtor handler of gcc & crt are using
> the first elemenent as a "long", which is on this target 32-bit wide. So
> just the first 32-bit are checked for the number value.

  Then it sounds rather like they're doing the wrong thing.  After all, 0x00000000ffffffff is a valid address to a 64bit cpu, and the sentinels at the list start/end are supposed to be values that can't occur as valid addresses, no?

  So, if it isn't checking all 64 bits now, maybe you should still set them all to 1's, in anticipation that some time in the future gcc and crt may start checking them all?


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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