[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SPARK package for Debian



Євгеній Мещеряков <eugen@debian.org> writes:
> dictionary-rawdict.adb:4751:07: warning: types for unchecked conversion have different sizes
> dictionary-rawdict.adb:4751:07: warning: size of "Globalvariableref" is 64, size of "Reftype" is 32

Right, it seems the authors of the examiner assume integers and
addresses must have the same size, which is not true on e.g. amd64.

> gcc-4.4 -c -g -gnatwae -gnat05 -gnatwl -gnaty3abefhiklnprt
> -I../lib/spark/current -I../common/versioning -gnatf -O1 -fstack-check
> sem.adb
>
> raised STORAGE_ERROR : stack overflow (or erroneous memory access)
>

This could be triggered by -fstack-check, which is broken in this
particular version of GCC (and has been since 4.0; there is a long
string of PRs on GCC bugzilla).  Maybe try removing -fstack-check.

> So the largest problem for now is definition of RefType. And I'm not
> sure at all what to do with it. Also I have no idea how binary
> distribution for x86_64 was compiled. Maybe it was compiled with older
> compuler that does not emit that warning and binary distribution is
> broken? This is from gdb:
>
>    (gdb) print examinerconstants.RefType(0xffffffff)
>    $5 = -1
>
> Any ideas?

Could it be that the Examiner is compiled in 32-bit mode only, and that
the "x86_64" moniker only applies to the compiler?

-- 
Ludovic Brenta.


Reply to: