Win64 milestone

2012-09-08 Thread Walter Bright
D1 now compiles Phobos1 completely, and gets all the way to main() without 
crashing, and shuts down without crashing.


(Why D1 first? Because it's much simpler to port than D2's druntime/phobos.)


Re: Win64 milestone

2012-09-08 Thread Andrej Mitrovic
Congrats!

On 9/9/12, Walter Bright  wrote:
> D1 now compiles Phobos1 completely, and gets all the way to main() without
> crashing, and shuts down without crashing.
>
> (Why D1 first? Because it's much simpler to port than D2's
> druntime/phobos.)
>


Re: Win64 milestone

2012-09-09 Thread Jacob Carlborg

On 2012-09-09 02:35, Walter Bright wrote:

D1 now compiles Phobos1 completely, and gets all the way to main()
without crashing, and shuts down without crashing.

(Why D1 first? Because it's much simpler to port than D2's
druntime/phobos.)


Wow, that's amazing :)

--
/Jacob Carlborg


Re: Win64 milestone

2012-09-09 Thread Nicholas Londey

Nice work. Am very much looking forward to Win64 support in D2. :)


Re: Win64 milestone

2012-09-09 Thread Gary Willoughby

On 09/09/2012 1:35 am, Walter Bright wrote:

D1 now compiles Phobos1 completely, and gets all the way to main()
without crashing, and shuts down without crashing.

(Why D1 first? Because it's much simpler to port than D2's
druntime/phobos.)


Awesome!


Re: Win64 milestone

2012-09-09 Thread F i L

Walter Bright wrote:
D1 now compiles Phobos1 completely, and gets all the way to 
main() without crashing, and shuts down without crashing.


Nice!


Re: Win64 milestone

2012-09-09 Thread Maxim Fomin

On Sunday, 9 September 2012 at 00:35:36 UTC, Walter Bright wrote:
D1 now compiles Phobos1 completely, and gets all the way to 
main() without crashing, and shuts down without crashing.


(Why D1 first? Because it's much simpler to port than D2's 
druntime/phobos.)


Very good news. Will it compile D2 as well by 2.061?


Re: Win64 milestone

2012-09-09 Thread Walter Bright

On 9/9/2012 4:40 AM, Nicholas Londey wrote:

Nice work. Am very much looking forward to Win64 support in D2. :)


So am I!



Re: Win64 milestone

2012-09-09 Thread Walter Bright

On 9/9/2012 9:51 AM, Maxim Fomin wrote:

On Sunday, 9 September 2012 at 00:35:36 UTC, Walter Bright wrote:

D1 now compiles Phobos1 completely, and gets all the way to main() without
crashing, and shuts down without crashing.

(Why D1 first? Because it's much simpler to port than D2's druntime/phobos.)


Very good news. Will it compile D2 as well by 2.061?


My goal for 2.061 is at least alpha quality D2 Win64 support.



Re: Win64 milestone

2012-09-09 Thread Nick Sabalausky
On Sat, 08 Sep 2012 17:35:12 -0700
Walter Bright  wrote:

> D1 now compiles Phobos1 completely, and gets all the way to main()
> without crashing, and shuts down without crashing.
> 
> (Why D1 first? Because it's much simpler to port than D2's
> druntime/phobos.)

Sorry if this was answered in a previous thread, but how does it work
with linking and object file formats?



Re: Win64 milestone

2012-09-09 Thread Walter Bright

On 9/9/2012 1:20 PM, Nick Sabalausky wrote:

Sorry if this was answered in a previous thread, but how does it work
with linking and object file formats?



Dmd Win64 uses MS-Coff and Microsoft's linker and VC's runtime libraries.



Re: Win64 milestone

2012-09-09 Thread Nick Sabalausky
On Sun, 09 Sep 2012 13:35:19 -0700
Walter Bright  wrote:

> On 9/9/2012 1:20 PM, Nick Sabalausky wrote:
> > Sorry if this was answered in a previous thread, but how does it
> > work with linking and object file formats?
> 
> 
> Dmd Win64 uses MS-Coff and Microsoft's linker and VC's runtime
> libraries.
> 

Not to disparage optlink (I haven't really had the problems some
people have had, at least not in a long time), but: Awesome :)

Any particular version requirements on MSVC? Or too early to tell?



Re: Win64 milestone

2012-09-09 Thread Walter Bright

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.




Re: Win64 milestone

2012-09-09 Thread Benjamin Thaut

Am 09.09.2012 23:37, schrieb Walter Bright:

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.




Are we going to get propper Dll support? I mean importing data symbols 
and a dll compatible c-runtime.


Kind Regards
Benjamin Thaut


Re: Win64 milestone

2012-09-09 Thread Jacob Carlborg

On 2012-09-09 23:37, Walter Bright wrote:

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.


Since you just bought it, and the latest version seems to be 2012, I 
would guess on that one.


--
/Jacob Carlborg


Re: Win64 milestone

2012-09-10 Thread Walter Bright

On 9/9/2012 10:07 PM, Benjamin Thaut wrote:

Am 09.09.2012 23:37, schrieb Walter Bright:

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.




Are we going to get propper Dll support? I mean importing data symbols and a dll
compatible c-runtime.


It'll probably work like Win32 DLLs.




Re: Win64 milestone

2012-09-10 Thread Benjamin Thaut

Am 10.09.2012 09:07, schrieb Walter Bright:

On 9/9/2012 10:07 PM, Benjamin Thaut wrote:

Am 09.09.2012 23:37, schrieb Walter Bright:

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.




Are we going to get propper Dll support? I mean importing data symbols
and a dll
compatible c-runtime.


It'll probably work like Win32 DLLs.




Hm, a major showstopper for the current DLL support ist, that dmd does 
not generate code to correctly import data symbols.


Kind Regards
Benjamin Thaut

--
Kind Regards
Benjamin Thaut


Re: Win64 milestone

2012-09-10 Thread Walter Bright

On 9/10/2012 12:56 AM, Benjamin Thaut wrote:

Hm, a major showstopper for the current DLL support ist, that dmd does not
generate code to correctly import data symbols.


What is the bugzilla entry for that?



Re: Win64 milestone

2012-09-10 Thread Benjamin Thaut

Am 10.09.2012 10:35, schrieb Walter Bright:

On 9/10/2012 12:56 AM, Benjamin Thaut wrote:

Hm, a major showstopper for the current DLL support ist, that dmd does
not
generate code to correctly import data symbols.


What is the bugzilla entry for that?



Its a pretty old ticket,

Rainer Schulze implemented library code that patches the data symbol 
tables manually to get phobos to work as a DLL but the patch is quite old:


http://d.puremagic.com/issues/show_bug.cgi?id=4071

Look at the dll_patchImportRelocations function in the druntime patch

Usually the compiler should generate code to get the correct import 
address for each data symbol if I understood it correctly.


Also there are a lot more issues with dlls,
you can't export certain symbols that are needed, for example the module 
info internal symbols. Rainer fixed this by adding a -exportall switch 
to dmd.


And of course there are the runtime issues with the TLS storage and 
Module (De)Initialization.


--
Kind Regards
Benjamin Thaut


Re: Win64 milestone

2012-09-10 Thread Adam Wilson

On Sun, 09 Sep 2012 23:29:53 -0700, Jacob Carlborg  wrote:


On 2012-09-09 23:37, Walter Bright wrote:

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.


Since you just bought it, and the latest version seems to be 2012, I  
would guess on that one.


2012 is only on sale as of Sept 4th. However, I don't see why he would  
have needed to buy it. You can get the full 2012 compiler for free here:  
http://go.microsoft.com/?linkid=9810160
If you need DirectX download the Windows SDK here:  
http://msdn.microsoft.com/en-US/windows/hardware/hh852363


--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


Re: Win64 milestone

2012-09-10 Thread Walter Bright

On 9/9/2012 11:29 PM, Jacob Carlborg wrote:

On 2012-09-09 23:37, Walter Bright wrote:

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.


Since you just bought it, and the latest version seems to be 2012, I would guess
on that one.



What I have is VS 2010 Professional.


Re: Win64 milestone

2012-09-10 Thread Adam Wilson
On Mon, 10 Sep 2012 14:11:36 -0700, Walter Bright  
 wrote:



On 9/9/2012 11:29 PM, Jacob Carlborg wrote:

On 2012-09-09 23:37, Walter Bright wrote:

On 9/9/2012 1:56 PM, Nick Sabalausky wrote:

Any particular version requirements on MSVC? Or too early to tell?


Beats me. I just bought VC and am making it work with that.


Since you just bought it, and the latest version seems to be 2012, I  
would guess

on that one.



What I have is VS 2010 Professional.


If you kept your MSDN license up to date you should have 2012 Pro now too.

--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


Re: Win64 milestone

2012-09-10 Thread Jacob Carlborg

On 2012-09-10 23:11, Walter Bright wrote:


What I have is VS 2010 Professional.


Oh, you see, guess I was wrong.

--
/Jacob Carlborg