View previous topic :: View next topic |
Author |
Message |
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Sat Jan 14, 2006 5:24 am Post subject: |
|
|
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! |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sat Jan 14, 2006 6:15 am Post subject: |
|
|
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! |
Thanks! Did I mention that I love inkscape? _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
larsivi Site Admin
Joined: 27 Mar 2004 Posts: 453 Location: Trondheim, Norway
|
Posted: Sat Jan 14, 2006 6:56 am Post subject: |
|
|
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! |
Thanks! Did I mention that I love inkscape? |
Double Wow! Looks great, Eric! |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sat Jan 14, 2006 7:39 am Post subject: |
|
|
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. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
larsivi Site Admin
Joined: 27 Mar 2004 Posts: 453 Location: Trondheim, Norway
|
Posted: Sat Jan 14, 2006 9:32 am Post subject: |
|
|
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 |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sat Jan 14, 2006 9:42 am Post subject: |
|
|
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 |
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 |
|
|
larsivi Site Admin
Joined: 27 Mar 2004 Posts: 453 Location: Trondheim, Norway
|
Posted: Sat Jan 14, 2006 9:48 am Post subject: |
|
|
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 |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sat Jan 14, 2006 10:04 am Post subject: |
|
|
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 |
|
|
larsivi Site Admin
Joined: 27 Mar 2004 Posts: 453 Location: Trondheim, Norway
|
Posted: Sat Jan 14, 2006 7:22 pm Post subject: |
|
|
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
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 |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sun Jan 15, 2006 1:29 am Post subject: |
|
|
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
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. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sun Jan 15, 2006 6:47 am Post subject: |
|
|
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 |
|
|
sean
Joined: 24 Jun 2004 Posts: 609 Location: Bay Area, CA
|
Posted: Sun Jan 15, 2006 8:13 am Post subject: |
|
|
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
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 |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Mon Jan 16, 2006 10:50 pm Post subject: |
|
|
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 |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Thu Feb 02, 2006 8:01 am Post subject: |
|
|
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 |
|
|
larsivi Site Admin
Joined: 27 Mar 2004 Posts: 453 Location: Trondheim, Norway
|
Posted: Fri Feb 03, 2006 1:53 pm Post subject: |
|
|
pragma wrote: |
Props to Lars, who's been working diligently all this time. |
Diligently, but slowly
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 |
|
|
|
|
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
|