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