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