FreeBSD 6 amd64 tweak: Compiling problem: CLASSINFO_SIZE assert

Thomas Kuehne thomas-dloop at kuehne.cn
Thu Jan 11 00:09:34 PST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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
> following
>> > patches.  I haven't conditionalized them inside of the build infrastructure, but am going to likely incorporate them
> into
>> > 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:
>> http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.com&group=D.gnu&artnum=1879
>
> ... 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
> /usr/local/lib/libgphobos.a(outofmemory.o)(.rodata+0x18):../.././../gcc-4.0-20061228/libphobos/std/outofmemory.d:26:
> 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.

Thomas


-----BEGIN PGP SIGNATURE-----

iD8DBQFFpf0zLK5blCcjpWoRAmqjAKCE7mLU4EhDZza1WdpPomANtuSNjACfWPHe
KjtqY2Z8GRhw9hnqH0y3sJU=
=HpyC
-----END PGP SIGNATURE-----



More information about the Digitalmars-d mailing list