Thread overview | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 23, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
> LDC2 Status LDC2 passes almost all phobos unittests and tests from dmd suite on linux x86. Also it probably works on freebsd, but it's broken on other platforms and architectures. I currently work on linux X86_64 port: ldc2 already compiles druntime and phobos, although there are some serious issues with GC (which make ldc2 quite useless on 64 bits). Trass3r Wrote: > Also I got the feeling that LDC2 has been hastily updated to the newest dmd frontend without verifying each upgrade step by step and now things are subtly broken. When I started to work on ldc2, it was in terrible state (it did not even compile). So, yes, I decided to update ldc to the latest dmd frontend at the time. But after that every frontend merge was thoroughly tested using phobos unittests and dmd test suite. I need a hand with writing a good building instruction. If you want to help, send me a letter, I'll talk you through building process. By the way, druntime and phobos with ldc2 patches can be found here: https://github.com/AlexeyProkhin. |
February 23, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alexey Prokhin | > Trass3r Wrote: >> Also I got the feeling that LDC2 has been hastily updated to the newest dmd frontend without verifying each upgrade step by step and now things are subtly broken. > When I started to work on ldc2, it was in terrible state (it did not even compile). So, yes, I decided to update ldc to the latest dmd frontend at the time. But after that every frontend merge was thoroughly tested using phobos unittests and dmd test suite. Glad to hear that! Didn't mean to talk your efforts down ;) Hope you can make it usable. Now if only those LLVM suckers implemented SEH... > I need a hand with writing a good building instruction. If you want to help, send me a letter, I'll talk you through building process. > By the way, druntime and phobos with ldc2 patches can be found here: https://github.com/AlexeyProkhin. I might try compiling it on Windows again. |
February 24, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alexey Prokhin | On 2/23/2011 3:00 PM, Alexey Prokhin wrote:
>> LDC2 Status
> LDC2 passes almost all phobos unittests and tests from dmd suite on linux x86. Also it probably works on freebsd, but it's broken on other platforms and architectures.
> I currently work on linux X86_64 port: ldc2 already compiles druntime and phobos, although there are some serious issues with GC (which make ldc2 quite useless on 64 bits).
>
> Trass3r Wrote:
>> Also I got the feeling that LDC2 has been hastily updated to the newest dmd frontend without verifying each upgrade step by step and now things are subtly broken.
> When I started to work on ldc2, it was in terrible state (it did not even compile). So, yes, I decided to update ldc to the latest dmd frontend at the time. But after that every frontend merge was thoroughly tested using phobos unittests and dmd test suite.
>
>
> I need a hand with writing a good building instruction. If you want to help, send me a letter, I'll talk you through building process.
> By the way, druntime and phobos with ldc2 patches can be found here: https://github.com/AlexeyProkhin.
Still can't get druntime to compile. The readme file in runtime/ is horribly outdated. I cloned your github repo, and tried a few things, but I have no clue where I should put it, or how to build it. It looks like the make file is still for DMD.
|
February 24, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to dsimcha | > Still can't get druntime to compile. The readme file in runtime/ is horribly outdated. I cloned your github repo, and tried a few things, but I have no clue where I should put it, or how to build it. It looks like the make file is still for DMD.
I use cmake to compile druntime and phobos:
$ cd ldc2_build_dir
$ cmake -DRUNTIME_DIR=path_to_druntime -DPHOBOS2_DIR=path_to_phobos .
$ make phobos2 (or 'make runtime' if you want to build only druntime)
|
February 24, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
On Thu, Feb 24, 2011 at 12:56 AM, Alexey Prokhin <alexey.prokhin@yandex.ru> wrote:
> I use cmake to compile druntime and phobos:
> $ cd ldc2_build_dir
> $ cmake -DRUNTIME_DIR=path_to_druntime -DPHOBOS2_DIR=path_to_phobos .
> $ make phobos2 (or 'make runtime' if you want to build only druntime)
>
I tried building on ARM just for the heck of it, and ldc2 compiles successfully, but when I compile druntime, odd things happen. Specifically, looking at the version blocks in core/stdc/stdargs.d, I should be getting a static assert failure because my platform is unsupported, but instead I'm seeing this:
$ ldc2 core/stdc/stdarg.d
core/stdc/stdio.d(345): Error: undefined identifier va_list
core/stdc/stdio.d(345): Error: va_list is used as a type
core/stdc/stdio.d(346): Error: undefined identifier va_list
core/stdc/stdio.d(346): Error: va_list is used as a type
core/stdc/stdio.d(347): Error: undefined identifier va_list
core/stdc/stdio.d(347): Error: va_list is used as a type
core/stdc/stdio.d(348): Error: undefined identifier va_list
core/stdc/stdio.d(348): Error: va_list is used as a type
core/stdc/stdio.d(349): Error: undefined identifier va_list
core/stdc/stdio.d(349): Error: va_list is used as a type
core/stdc/stdio.d(350): Error: undefined identifier va_list
core/stdc/stdio.d(350): Error: va_list is used as a type
core/stdc/stdio.d(405): Error: undefined identifier va_list
core/stdc/stdio.d(405): Error: va_list is used as a type
core/stdc/wchar_.d(37): Error: undefined identifier va_list
core/stdc/wchar_.d(37): Error: va_list is used as a type
core/stdc/wchar_.d(38): Error: undefined identifier va_list
core/stdc/wchar_.d(38): Error: va_list is used as a type
core/stdc/wchar_.d(39): Error: undefined identifier va_list
core/stdc/wchar_.d(39): Error: va_list is used as a type
core/stdc/wchar_.d(40): Error: undefined identifier va_list
core/stdc/wchar_.d(40): Error: va_list is used as a type
core/stdc/wchar_.d(41): Error: undefined identifier va_list
core/stdc/wchar_.d(41): Error: va_list is used as a type
core/stdc/wchar_.d(42): Error: undefined identifier va_list
core/stdc/wchar_.d(42): Error: va_list is used as a type
This is odd because stdarg contains no import statements. Is the compiler generating references to the other modules somehow, and if so, why do I get these errors instead of the unsupported platform error?
|
February 25, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trass3r | Trass3r wrote: >> Trass3r Wrote: >>> Also I got the feeling that LDC2 has been hastily updated to the newest dmd frontend without verifying each upgrade step by step and now things are subtly broken. >> When I started to work on ldc2, it was in terrible state (it did not even compile). So, yes, I decided to update ldc to the latest dmd frontend at the time. But after that every frontend merge was thoroughly tested using phobos unittests and dmd test suite. > > Glad to hear that! Didn't mean to talk your efforts down ;) > Hope you can make it usable. Now if only those LLVM suckers implemented SEH... Wouldn't it be possible for LDC to use the exception handling implementation in druntime? (With some modifications, of course). With the last compiler release, there is no longer any dependency on the DMC runtime. I put a lot of effort into understanding Windows SEH, and I believe it is quite well documented now. >> I need a hand with writing a good building instruction. If you want to help, send me a letter, I'll talk you through building process. >> By the way, druntime and phobos with ldc2 patches can be found here: https://github.com/AlexeyProkhin. > > I might try compiling it on Windows again. |
February 25, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don | On 2011-02-25 10:10, Don wrote: > Trass3r wrote: >>> Trass3r Wrote: >>>> Also I got the feeling that LDC2 has been hastily updated to the >>>> newest dmd frontend without verifying each upgrade step by step and >>>> now things are subtly broken. >>> When I started to work on ldc2, it was in terrible state (it did not >>> even compile). So, yes, I decided to update ldc to the latest dmd >>> frontend at the time. But after that every frontend merge was >>> thoroughly tested using phobos unittests and dmd test suite. >> >> Glad to hear that! Didn't mean to talk your efforts down ;) >> Hope you can make it usable. Now if only those LLVM suckers >> implemented SEH... > > Wouldn't it be possible for LDC to use the exception handling > implementation in druntime? (With some modifications, of course). With > the last compiler release, there is no longer any dependency on the DMC > runtime. I put a lot of effort into understanding Windows SEH, and I > believe it is quite well documented now. I think that the compiler outputs exception tables, or something like that. Without does tables no exceptions. >>> I need a hand with writing a good building instruction. If you want >>> to help, send me a letter, I'll talk you through building process. >>> By the way, druntime and phobos with ldc2 patches can be found here: >>> https://github.com/AlexeyProkhin. >> >> I might try compiling it on Windows again. -- /Jacob Carlborg |
February 25, 2011 Re: LDC2 Status | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don | Don Wrote:
> Wouldn't it be possible for LDC to use the exception handling implementation in druntime? (With some modifications, of course). With the last compiler release, there is no longer any dependency on the DMC runtime. I put a lot of effort into understanding Windows SEH, and I believe it is quite well documented now.
The runtime is not a problem, llvm lacks compile time support for SEH. They may try to get sjlj to work.
|
July 25, 2012 build Ldc2 for win xp 32 bit Error | ||||
---|---|---|---|---|
| ||||
Posted in reply to Alexey Prokhin | Please build LDC2 for windowXP with visual studio 2010 I try compling on windows XP 32 bit .But I get Error Please Help me ! C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(33): error A2034: must be in segment block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(34): error A2034: must be in segment block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(35): error A2034: must be in segment block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(36): error A2034: must be in segment block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(37): error A2034: must be in segment block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(38): fatal error A1010: unmatched bl ock nesting : ld_read [C:\ldcenv\build-ldc2\LDCShared.vcxproj] Done Building Project "C:\ldcenv\build-ldc2\LDCShared.vcxproj" (default targets "C:\ldcenv\build-ldc2\ALL_BUILD.vcxproj" (default target) (1) -> "C:\ldcenv\build-ldc2\LDCShared.vcxproj" (default target) (2) -> (CustomBuild target) -> C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(23): error A2013: .MODEL must prec ede this directive [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(25): error A2034: must be in segme nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(27): error A2013: .MODEL must prec ede this directive [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(31): error A2034: must be in segme nt block : ld_read [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(32): error A2034: must be in segme nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(33): error A2034: must be in segme nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(34): error A2034: must be in segme nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(35): error A2034: must be in segme nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(36): error A2034: must be in segme nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(37): error A2034: must be in segme nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(38): fatal error A1010: unmatched block nesting : ld_read [C:\ldcenv\build-ldc2\LDCShared.vcxproj] "C:\ldcenv\build-ldc2\ALL_BUILD.vcxproj" (default target) (1) -> "C:\ldcenv\build-ldc2\ldmd2.vcxproj" (default target) (8) -> (Link target) -> LINK : fatal error LNK1104: cannot open file 'Program.lib' [C:\ldcenv\build-l dc2\ldmd2.vcxproj] 30 Warning(s) 12 Error(s) Time Elapsed 00:00:20.18 C:\ldcenv\build-ldc2> |
July 25, 2012 Re: build Ldc2 for win xp 32 bit Error | ||||
---|---|---|---|---|
| ||||
Posted in reply to huynh van sen | On 25.07.2012 06:28, huynh van sen wrote: > Please build LDC2 for windowXP with visual studio 2010 > I try compling on windows XP 32 bit .But I get Error > Please Help me ! > > C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(33): error A2034: must be in > segment .... > nt block [C:\ldcenv\build-ldc2\LDCShared.vcxproj] > C:/ldcenv/build-ldc2/ldc/vcbuild/ldfpu.asm(38): fatal error A1010: > unmatched > block nesting : ld_read [C:\ldcenv\build-ldc2\LDCShared.vcxproj] > > > "C:\ldcenv\build-ldc2\ALL_BUILD.vcxproj" (default target) (1) -> > "C:\ldcenv\build-ldc2\ldmd2.vcxproj" (default target) (8) -> > (Link target) -> > LINK : fatal error LNK1104: cannot open file 'Program.lib' > [C:\ldcenv\build-l > dc2\ldmd2.vcxproj] > > 30 Warning(s) > 12 Error(s) > > Time Elapsed 00:00:20.18 > > C:\ldcenv\build-ldc2> I have not tried to build LDC myself, but my guess is that there is something wrong with the build step for the assembly file ldfpu.asm. It seems the VS projects are generated from CMake, so it might not be setup correctly. For x64 builds, the command line in dmd_msc.vcproj is "ml64 -c -Zi "-Fl$(IntDir)\$(InputName).lst" "-Fo$(IntDir)\$(InputName).obj" "$(InputPath)". For win32 builds, ldfpu.asm should be excluded from the build, inline assembly is used instead in longdouble.c. BTW: are there instructions how to build LDC2 on Windows? What is the state of the missing exception handling for Windows? |
Copyright © 1999-2021 by the D Language Foundation