LDC build issues for PowerPC and kfreebsd-{i386,amd64} on Debian
Kai Nacke via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Tue Jul 15 03:35:22 PDT 2014
Hi Konstantinos!
On Tuesday, 15 July 2014 at 07:14:02 UTC, Konstantinos Margaritis
via digitalmars-d-ldc wrote:
> On Tue, 15 Jul 2014 06:02:16 +0000
> Kai Nacke via digitalmars-d-ldc
> <digitalmars-d-ldc at puremagic.com> wrote:
>
>> PowerPC 32bit is still work in progress. PowerPC64 bit is
>> supposed to work. But there is an issue with 0.13.0 release
>> which is fixed in master branch.
>
> Ok, since the machine I have access to is a Power7, I guess I
> could try
> a powerpc64 build after that as well.
>
>> This seems to be an issue with root/port.c. If these functions
>> are missing then the conditions to choose the implementation
>> are not complete.
>
> Ok, I will try to get access to a kfreebsd-* system to try to
> figure it
> out.
>
>> I have some patches for PowerPC 32 bit:
>> http://www.redstar.de/ldc/ppc_druntime.diff
>> http://www.redstar.de/ldc/ppc_phobos.diff
>>
>> They try to fix some parts and comment out not yet working
>> asserts. std.math is notorius here.
>
> Ok, these seemed to do the trick, but another std.math build
> failure in
> floor():
>
> /home/markos/ldc-0.13.0/runtime/phobos/std/math.d(3199): Error:
> static
> assert "Only 64-bit, 80-bit, and 128-bit reals are supported
> by floor
> ()"
>
> Does this mean that the powerpc32 port does not have support
> for 64-bit
> floats?
No. The real type with maximum precision on PowerPC is called
doubledouble. Basically, 2 64-bit doubles are combined to give
roughly the precision of a 128-bit double. In this case the
mantissa has a precision of 106 digits. The assertion simply
states that the case "real.mant_dig==106" is not implemented.
Regards,
Kai
More information about the digitalmars-d-ldc
mailing list