FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Status Log
Goto page Previous  1, 2, 3 ... 6, 7, 8 ... 10, 11, 12  Next
 
Post new topic   Reply to topic     Forum Index -> DDL - D Dynamic Libraries
View previous topic :: View next topic  
Author Message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Sat Jan 14, 2006 5:24 am    Post subject: Reply with quote

pragma wrote:
Status

Nevermind the Temp page, I readjusted the wiki to use a revised version:

http://trac.dsource.org/projects/ddl/wiki/WikiStart

All contributors are encouraged to help fill out the wiki if they feel like it. I'm going to be tromping around in there today filling a few things out.

Enjoy!

Wow! Very Happy
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Sat Jan 14, 2006 6:15 am    Post subject: Reply with quote

kris wrote:
pragma wrote:
Status

Nevermind the Temp page, I readjusted the wiki to use a revised version:

http://trac.dsource.org/projects/ddl/wiki/WikiStart

All contributors are encouraged to help fill out the wiki if they feel like it. I'm going to be tromping around in there today filling a few things out.

Enjoy!

Wow! Very Happy


Thanks! Did I mention that I love inkscape?
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
larsivi
Site Admin


Joined: 27 Mar 2004
Posts: 453
Location: Trondheim, Norway

PostPosted: Sat Jan 14, 2006 6:56 am    Post subject: Reply with quote

pragma wrote:
kris wrote:
pragma wrote:
Status

Nevermind the Temp page, I readjusted the wiki to use a revised version:

http://trac.dsource.org/projects/ddl/wiki/WikiStart

All contributors are encouraged to help fill out the wiki if they feel like it. I'm going to be tromping around in there today filling a few things out.

Enjoy!

Wow! Very Happy


Thanks! Did I mention that I love inkscape?


Double Wow! Looks great, Eric!
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Sat Jan 14, 2006 7:39 am    Post subject: Reply with quote

Just added a Community section too: now we have a place for the coding standards and just about everything else that has been brought up so far.

I'm working on getting wiki-style ddoc output, but so far I hit a rather nasty snag in DMD.

http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/6021

It took me a while to find out what was going on, and I had to resort to un-ddoc-izing a lot of Don's comments in order to get things to compile in ddoc mode. Rolling Eyes
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
larsivi
Site Admin


Joined: 27 Mar 2004
Posts: 453
Location: Trondheim, Norway

PostPosted: Sat Jan 14, 2006 9:32 am    Post subject: Reply with quote

pragma wrote:
Just added a Community section too: now we have a place for the coding standards and just about everything else that has been brought up so far.


I added a paragraph called Technical resources, and added links to all ar and ELF-related pages I've used/will use.

Found many of them as I was searching for something i felt was missing from the ELF-spec in the repository. The spec specifies the object format, and in general how to use that for program loading and dynamic linking. Problem is, first we have to do static linking of sorts, because we don't have position independent objects. Que the Linker book by Sun, only 300++ pages... It is mentioned somewhere in there, that runtime linking of static objects are quite possible, just very inefficient.

AFAICS, it will be nigh on impossible to do anything useful without involving system calls to exec and mmap. Also, ld.so.1 might become useful in at least stages of development, although I don't want to depend on it. Anyway, the task just got bigger Smile
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Sat Jan 14, 2006 9:42 am    Post subject: Reply with quote

larsivi wrote:
pragma wrote:
Just added a Community section too: now we have a place for the coding standards and just about everything else that has been brought up so far.


I added a paragraph called Technical resources, and added links to all ar and ELF-related pages I've used/will use.


Now that's good wiki. Thanks Lars! I also put together a section under the reference that has some stubs for a more gentle introduction to such topics:

http://trac.dsource.org/projects/ddl/wiki/Reference/ABI

Quote:

Found many of them as I was searching for something i felt was missing from the ELF-spec in the repository. The spec specifies the object format, and in general how to use that for program loading and dynamic linking. Problem is, first we have to do static linking of sorts, because we don't have position independent objects. Que the Linker book by Sun, only 300++ pages...

Gotcha. My guess is that there's problems with non position-independent code being hard coded to 0x40000 just like with .exe files. Provided you can find some fixups to hang onto, your work is cut out for you.

Quote:

It is mentioned somewhere in there, that runtime linking of static objects are quite possible, just very inefficient.

AFAICS, it will be nigh on impossible to do anything useful without involving system calls to exec and mmap. Also, ld.so.1 might become useful in at least stages of development, although I don't want to depend on it. Anyway, the task just got bigger Smile


Inefficent is where we live right now; its the cost of this paradigm as there's always going to be overhead involving this kind of stuff. Thank you for going into such depth with all this.

If you find yourself having to run a lot of calculations just to make a module linkable, it might be more feasable to compose a util to "massage" a non-conformant ELF into a more useful shape. I recall seeing something along those lines in binutils, whereby one can make a library position independent - I could be wrong about this.

Also, do you see anything that would prevent the useage of ELF binaries on windows, as long as they only contain D code?
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
larsivi
Site Admin


Joined: 27 Mar 2004
Posts: 453
Location: Trondheim, Norway

PostPosted: Sat Jan 14, 2006 9:48 am    Post subject: Reply with quote

pragma wrote:
Also, do you see anything that would prevent the useage of ELF binaries on windows, as long as they only contain D code?


Hmm, I know to little (on both subjects actually) to say for certain. What I've read sofar, suggests that ELF is (possibly very) superior to COFF. This should mean that ELF contain all the necessary information. The question might be whether Windows can handle it without to much slicing and dicing.
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Sat Jan 14, 2006 10:04 am    Post subject: Reply with quote

larsivi wrote:
pragma wrote:
Also, do you see anything that would prevent the useage of ELF binaries on windows, as long as they only contain D code?


Hmm, I know to little (on both subjects actually) to say for certain. What I've read sofar, suggests that ELF is (possibly very) superior to COFF. This should mean that ELF contain all the necessary information. The question might be whether Windows can handle it without to much slicing and dicing.


<Shatner>
Good god man, she's... got... to handle it. I need full... power... to thewarpengines... Mr Scott.
</Shatner>

Thank you Lars. Let me know if you need an assist on composing the programmer's equivalent of a quisinart. It may not ever be pretty, but we'll make it work.

Now to get linux installed on something over here so I can start approaching things from the other side...
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
larsivi
Site Admin


Joined: 27 Mar 2004
Posts: 453
Location: Trondheim, Norway

PostPosted: Sat Jan 14, 2006 7:22 pm    Post subject: Reply with quote

pragma wrote:

Now to get linux installed on something over here so I can start approaching things from the other side...


I just ignored your Shatner references, didn't understand suibblywoo of them Wink

Anyway, have you tried the free VMWare player, as was suggested to Sean over at the NG? Here is a link to an image or two:

http://developer.kde.org/~binner/vmware/
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Sun Jan 15, 2006 1:29 am    Post subject: Reply with quote

larsivi wrote:
pragma wrote:

Now to get linux installed on something over here so I can start approaching things from the other side...


I just ignored your Shatner references, didn't understand suibblywoo of them Wink

Anyway, have you tried the free VMWare player, as was suggested to Sean over at the NG? Here is a link to an image or two:

http://developer.kde.org/~binner/vmware/


No I have not, but I'll give it a whirl. I have a second compuer I can dedicate to the task... its just a matter of finding a distro that I like. Wink
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Sun Jan 15, 2006 6:47 am    Post subject: Reply with quote

Status

Really tiny changeset today to handle a rather nasty OMF bug, leaving one more outstanding by Kris' count. We'll see how that goes later on.

http://trac.dsource.org/projects/ddl/wiki/Temp

I'm experimenting with ddoc and the wiki. Ddoc output is not at all geared to be consumed in a wiki format, so the results are kind of mixed. As a result, most of the output is enveloped in {{#!html ... }}} sections, using the standard HTML style output of ddoc.

Between this and my experiences with XML output from ddoc, I feel more and more inclined to part ways with the built-in facility and instead use a custom tool. Decisions, decisions...
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Sun Jan 15, 2006 8:13 am    Post subject: Reply with quote

larsivi wrote:
pragma wrote:

Now to get linux installed on something over here so I can start approaching things from the other side...


I just ignored your Shatner references, didn't understand suibblywoo of them Wink

Anyway, have you tried the free VMWare player, as was suggested to Sean over at the NG? Here is a link to an image or two:

http://developer.kde.org/~binner/vmware/

It'll take a bit of work either way. GCC isn't installed in the images I've tried, so you'll have to do some downloading and whatnot to get things working.
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Mon Jan 16, 2006 10:50 pm    Post subject: Reply with quote

Status

Did a little more work on both the wiki, and the current schedule of tickets. Most notably, is the closure of the OMF implib ticket.

I'm not 100? happy with the tact I took when handling this particular task. The OMFBinary will indeed load a good old-fashioned dll (via the operating system) when it encouters an implib style public symbol. As much as I wanted to solve this particular problem completely within DDL, this was the only real solution available. After all, how are the kernel32 and winsock imports supposed to work if they don't fan-in with the rest of the platform?

The consequence of this is absolutely zero for non-windows builds. The code is version()'ed such that the references to LoadLibrary and even the dll handles are never compiled in on non-windows builds. Attempting to load an implib on a non-windows built DDL code will throw an Exception: there's just no way to bind stuff like kernel32 on linux.

Wiki

I took a little extra time tonight and added a few things to the wiki. I've decided to put off the tutorial writing until after the 1.1b mark as I want to be completely sure we have the API solidified by that time. That should help minimize rewriting of the tutorials as we progress forward.

An Experiment

For grins, I threw some extra folders in trunk within my own workspace to see if I'd wind up with royal mess or not:

Code:

  ddl
  ddoc
  doc
  etc*
  lib*
  mango*
  meta
  std*
  test
  trac
  utils


The mango, lib, etc and std folders are an experiment I'm running to see what it will take to provide full Ares/Phobos compatibility without sending users of DDL running every which-way. I'm also looking to use mango I/O to handle the current mess of parsers and file handlers.

The idea is that Phobos builds wouldn't require anything but /ddl, /meta and /mango. Ares builds would pull from /ddl /meta /mango, /std, /etc and link in lib/zlib.lib. All of the above would be supported via scripts and binaries in the SDK.

Why do this? Well, Ares has no zip support so I've borrowed it from phobos (hence /etc and /std). Meanwhile, I want to provide a minimal Mango tree to help both minimal Ares and Phobos builds along. The upshot here is that SDK users can throw out the minimal tree in favor of a whole (version-compatible) one instead. The same can be said of std/, etc/ and phobos.

The downside is that the bird's eye view from SVN is much broader than before. The project would rely much more heavily on steering users toward the library and SDK downloads instead - which is probably a good thing. Also, the wiki would have to be augmented to better document the project structure, as there's a lot going on in there.

Other Stuff

It looks like Don has been busy retouching the meta tree, so I'm probably going to have to revisit the regex stuff sometime soon; I've been meaning to give it a little more attention recently. Also, Lars has been busy doing a little wiki editing himself, over on the Community pages, as well as pounding away on ELF loading support. Thanks guys!
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Thu Feb 02, 2006 8:01 am    Post subject: Reply with quote

Well, the past few weeks have been, interesting, to say the least. :/

Props to Lars, who's been working diligently all this time. Also to Kris, who's been keeping my inbox full of bug reports. I think we're finally getting close.

With RealLife(tm) firmly back under control, I'm going to resume development with the Mango refactoring of the I/O portions of the codebase. I hit a sticking point about a week ago, when I realized that DDL required some properties that were tough to reconcile against Mango. Not that the library is a bad fit, but I did have to compose a shim to replace DDLFile. The result is very nearly the same thing (semantically), but is now compatible with Mango's parsing/reading capabilities. The next step is to redo the internal 'cursors' to Mango style readers.

I haven't a clue how to optimize/mangoize the Demangler. I'm leaving it alone for the time being.
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
larsivi
Site Admin


Joined: 27 Mar 2004
Posts: 453
Location: Trondheim, Norway

PostPosted: Fri Feb 03, 2006 1:53 pm    Post subject: Reply with quote

pragma wrote:

Props to Lars, who's been working diligently all this time.


Diligently, but slowly Razz

Quote:

With RealLife(tm) firmly back under control, I'm going to resume development with the Mango refactoring of the I/O portions of the codebase. I hit a sticking point about a week ago, when I realized that DDL required some properties that were tough to reconcile against Mango. Not that the library is a bad fit, but I did have to compose a shim to replace DDLFile. The result is very nearly the same thing (semantically), but is now compatible with Mango's parsing/reading capabilities. The next step is to redo the internal 'cursors' to Mango style readers.


As mango.io is now in Ares, I think we should consider relying on that. We don't need mango.io copies all over the place, dependency on ares will come at some point in any case. Still, we'll need other parts of mango though.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> DDL - D Dynamic Libraries All times are GMT - 6 Hours
Goto page Previous  1, 2, 3 ... 6, 7, 8 ... 10, 11, 12  Next
Page 7 of 12

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group