From: mcastle AT mcs213k DOT cs DOT umr DOT edu Subject: DLD finished! To: djgpp AT sun DOT soe DOT clarkson DOT edu Date: Tue, 22 Dec 92 4:25:25 CST I just finished the port of dld 3.2.3 (Dynamic Link Editory) for use with djgpp. The port is pretty complete (I have problems with just one example program, more later). DLD is a library you can link in with you programs to provide added functionality. Using DLD you may link in code (in the form of .o files or .a files) at run time as opposed to compile time. You may also unlink any functions at run time (including those originally compiled into the program). Using this library you can write overlay modules, dynamic link libraries, drivers for testing routines, and much more. An industrious person should be able to use DLD along with Eldridge's multitasking library and Biegl's graphics library to write a decent implentation of a cooperative windowing environment with different application specifially written for said environment. What's included: The package as supplied will be very nearly the same as the package found on prep.ai.mit.edu. The few changes I had to make were the mainly dos-isms (drive-colon stuff, semi-colon separated paths, both types of directory slashes, support for and exe prepened a.out file). I did have to make one change to the aout.h file supplied with djgpp, but this change is only necessary to compile the package, not use. I will also include the compile library and test exectuables. Caveats: Documentation is sparse. All that is supplied is a texinfo file and two postscript files. The texinfo is fairly readable on it's own, and is also small enough that the info reader in put out by the gnuish people should work on it (demacs should also work, of course). One postscript file is the texinfo file ready to be printed, the other is an early draft of an article in Software Practice and Experience, Vol. 21(4), 375-390 (April 1991). This paper provides the really neat descriptions of the uses for dld. Also, I could not get one of the example programs to work. Reload. This example essentially loads in another complete program (with main, et al) and runs it. Unfortunately, it cannot resolve one stupid reference, and therefore run. I simply cannot trace down what is wrong. I'm not sure if its an error in the supplied linker (it uses the -r option of ld to create a relocatable version of the second exectuable to be loaded in), or a bug in dld. I need to know what the functionality of the trouble function (xyzzy from libc.a), but I don't have the disk space to keep the source for libc on line and figure out what's going on. DLD will be available as soon as I get it uploaded (which may be awhile as our machine will be down for PM in about 3.5 hours), and I figure out which archives to put it on (since ftp.math.niu.edu is being moved around the moment and I'm not sure where to put it on barnacle, I still have some work in that respects to do). Next: MAKE! (I hope ;-) regards, Mike Castle mcastle AT cs DOT umr DOT edu