FreeBSD 6 amd64 tweak: Compiling problem: CLASSINFO_SIZE assert
thomas-dloop at kuehne.cn
Thu Jan 11 00:09:34 PST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Sean Chittenden schrieb am 2007-01-08:
>== Quote from Thomas Kuehne (thomas-dloop at kuehne.cn)'s article
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>> Sean Chittenden schrieb am 2007-01-07:
>> > Howdy. I'm on an amd64 FreeBSD 6.2-rc machine and have been able to get it to compile on FreeBSD6 amd64 with the
>> > patches. I haven't conditionalized them inside of the build infrastructure, but am going to likely incorporate them
>> > my port upgrade to 0.21. The problem is described below:
>> The mainline GDC can currently only produce object code for 32bit
>> targets. Personally I'm using a 64bit GDC binary to compile for i686:
> ... but... I don't have any 32bit machines anymore, anywhere! :~]
> I'll see if I can dig up some extra boxes that I can reformat and mash on. If you had to give a thumbnail guess as to what
> needed to be done to get X86_64 finished or what the timeframe is on that, would/could you? I was searching around and
> didn't find anything that hinted at where it was on the road map.
> If I comment out the assert() in format.d, it finishes compiling successfully, however it fails to link object code.
> % gdc hello.d
> undefined reference to `_D6object6Object6toHashMFZk'
That is because object.d seems to be missing or badly mangled:
_D6object6Object6toHashMFZk -> uint object.Object.toHash(this)
The "uint" above should have been ulong for 64bit systems.
> Which leaves inquiring minds curious as to if/when or to suck up a 32bit universe for a while. Thanks, I know these are
> obnoxious questions to have to answer. *grin* -sc
That is the beauty with X86_64 systems: they allow running 64bit and 32bit
applications side by side. David has said in the past that he wouldn't
declare GDC 1.0 before 64 bit were to be implemented.
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----
More information about the Digitalmars-d