Mail Archives: djgpp/1992/11/14/00:35:52
> Here is my wish list for GO32:
> 1) Multithreading (probably through mutliple TSSs).
> 2) fork().
> 3) signals.
> 4) Port GDB.
> 5) Dynamic Link Libraries.
I came close to finish porting DLD 3.2.3 (Dynamic Link/Unlink Editor). The
port was fairly straightword and following are the note I made while doing
the port.
The last problem I had was getting one example to work. When it unlinked
it's own main, and then tried to link in another's main, it wouldn't work.
I finally used the dld functions to trace it down to it not being able to
find the symbols DTOR and/or CTOR (been a while since I've played with it,
so these may not be exactly how they are supposed to appear). I haven't
had time to work on it lately (school, ya know), or post to gnu.utils.bugs
to see if anyone else has had this problem with gcc 2.x.x. When I tried
porting with gcc 1.39, I don't remember having this problem, but then again,
I may had and just not even able to figure out what the problem was then,
and so never posted the port.
If anyone wants what I have to finish working on the port, I can easily up
load it. Just unlinking main seems to be the only major problem currently.
The only other dos specific problem that needs to be solved is handling
prepended .exe's, but I imagine that code could easily be taken out of the
code for go32. :->
--------------------<dos-port.log>--------------------------
* Need to add .suffixes: (.SUFFIXES: won't work) to make work with
Borland's make 3.6. Also had to chang ${} to $().
* N_COMM can't be found in any .h files except stab.h. Found similiar
entries in aout.h. Looked through some other gnu sources to see what
I could find. Found it in a.out.gnu.h in binutils-1.9.tar. Wonder
why it's not in the DJ's release. Must ask.
* Just added N_COMM to aout.h. Seems to work fine, though LOTS of
warnings in dld.c and one in remove.c. All seems to be typecasting
warnings. Must do another fix to makefile to handle long command lines.
* No going to bother trying to deal with unix-isms in test directory make
file. Just write a batch program to switch to subdirs.
* First major obstacle: add1 package. Evidently not resolving all
external references. When tries to increment, tries to increment [0]
(whether [0] is a register, memory, or memory location pointer to by
register, I'm not sure). Did notice that dld.c *assumes* O_BINARY
default status for open. *sigh* not all systems are unix.....
* Added O_BINARY to call to open(). add1 package works fine now. My
Turbo C++ library refernce says O_BINARY and O_TEXT are not used in
AT&T based unix. Damn cr/lf translations.
* Fixed read-a.out.c to find aout.h instead of a.out.h in the general
package.
* Read-a.out.c wants to use a reference to exec.magic from the a.out.h
structures. Does not exist in either DJ's distribution, or binutils-1.9
supplied a.out.gnu.h file. Both use N_MAGIC(exec) macro to get the
information instead. I suppose most system supplied a.out.h files have
that structure. Anyway, fixed now to use the macro.
* Fixed test-def.c to find aout.h.
* Most of the general package works fine, except for using dos slashes
in path names instead of unix slashes. Sometimes works, sometimes
doesn't. Seems not to work when path _begins_ with the slash.
Problem was in checking for a absolute file name. Also added support
for DOS style paths with ';' separator.
------------------<end dos-port.log>----------------------------
> 6) Make GO32 (and EMU387) reentrant and have the stub look to see if they are
> already present.
>
> Peter Crowley
> Quarterdeck Offices Systems
>
>
(sorry you got this twice, peter. First time I used followup instead of
group followup :-).
mrc
- Raw text -