Xenix files..
pgd at bbt.se
pgd at bbt.se
Sun Jan 6 20:50:33 AEST 1991
In article <1991Jan04.045614.13386 at kithrup.COM> sef at kithrup.COM (Sean Eric Fagan) writes:
>I am going to try to summarize what I think you've been trying to do, and
>then I'm going to tell you why you cannot. If I've misunderstood you,
>please let me know, and I will tell you why you're wrong with the new
>understanding.
Ok, go ahead.
>You are trying to generate programs that use shared libraries, using only
>the standard Xenix 2.3.0 devsys. You have noticed that the shared libraries
>are in /shlib/libc_s, and that an nm of them shows some symbols, which you
>assume you can jump to.
>
>Correct?
Correct.
I have also verified that you actually can jump to them.
>The shared library has unresolved references to malloc and free, among
>others. This is so that you can link in your own version of malloc, and all
>of the routines in the shared library will use it. Please tell me how you
>managed to resolve these? They won't show up unresolved, because there is
>no symbol name in the shared library for them; instead, there is a table,
>which is filled in by the linker, *IF YOU HAVE THE SHARED LIBRARY ARCHIVE*.
I doubt very much that these values are filled in by the linker, since they
have to be filled in at run-time. I fill them in in start.c, which is
probably what the original version also does.
>
>>To get the xenix kernel to load the library, I use a program which
>>converts the executable x.out file, to an executable coff file, and
>>puts in the information to load the library in it. That part works
>>nicely.
>
>*No*. That part only *appears* to work nicely. In reality, it is doing
>something very strange, and bizarre, and not terribly useful.
Well, if it works, who cares if it does something strange, or not? :-)
Seriously, the program converts a x.out image to a coff image. You
might think that the need for this is bizarre, and I agree. But
considering the -unix switch to 'cc', it seem to be exactly what SCO
does on their UNIX system.
Besides, shared libraries are very useful, if you want to run
X-windows, and have a small amount of memory.
>Although it is possible to reverse engineer the stuff necessary for a shared
>library, it does not sound as if you have done it.
I am sorry to disappoint you, but that is exactly what I have
done.
P Garbha
-------------
Any opinions expressed are my own, and generally unpopular with
others. -- Sean Eric Fagan
More information about the Comp.unix.xenix.sco
mailing list