Building LDC for the first time

Kai Nacke via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Wed Aug 27 10:14:22 PDT 2014


On Wednesday, 27 August 2014 at 14:59:33 UTC, Daniel N wrote:
> On Tuesday, 26 August 2014 at 17:00:37 UTC, Kai Nacke wrote:
>> Thanks for the hint. I committed the change. If you like you 
>> can try it...
>>
>> Regards,
>> Kai
>
> Thanks, the patch works like a Charm! It allowed me to find the 
> next(and probably final issue).
>
> When building with LLVM 3.5 my GCC/GAS is not happy with 
> certain COMDAT directives, I tested switching to build with my 
> own compiled LLVM 3.4.2 that is fully functional as expected.
>
> If I use "-disable-linker-strip-dead" then the 'one_only' 
> syntax returns to the old 3.4.2 style, but the new 'discard' 
> syntax remain despite the switch, see below comparison for what 
> I mean.
>
> === 34 ===
> .text
> .linkonce discard
>
> === 35 ===
> .section	.text,"xr",one_only,__Dmain
> .section	.text,"xr",discard,__D4dial13__T6createTiZ6createFNaNbNfiZi
>
> === 35 && -disable-linker-strip-dead ===
> .text
> .section	.text,"xr",discard,__D4dial13__T6createTiZ6createFNaNbNfiZi
>
> Regards,
> Daniel N

Hi Daniel!

You could try the integrated LLVM assembler. I am currently 
testing this setup.

1. In driver/toobj.cpp, set bool const assembleExternally = false;
2. in std.math, exchange in real poly(...) the inline assembler 
with the D version (simply replace D_InlineAsm_X86 with none).

This is what I am currently testing.

Regards,
Kai


More information about the digitalmars-d-ldc mailing list