coolidge@casca.cs.uiuc.edu (John Coolidge) (08/09/90)
I'm working on shared library-izing some stuff for A/UX, and I've got a fairly major problem: no documentation. Actually, that's not true: I've got a copy of the SVR3 shared library documentation from another machine and it's very accurate as far as it goes. Between it and the mkshlib man page, I've gotten a pretty good idea of what needs to be done to make a shared library, and I've done most of it. What I now need is the table of addresses that shared libraries can use. I can easily enough figure out where libc and libmac live in memory, but at what addresses should user shared libraries live (especially if they're likely to be "semi-standard" shared libraries that quite a few packages use)? Could someone with the manuals send me the appropriate information? There's a nice table/figure in the manual I have which shows the appropriate information for a 3b1, and I suspect the A/UX manual has a similar table --- which is what I need. Thanks, --John -------------------------------------------------------------------------- John L. Coolidge Internet:coolidge@cs.uiuc.edu UUCP:uiucdcs!coolidge Of course I don't speak for the U of I (or anyone else except myself) Copyright 1990 John L. Coolidge. Copying allowed if (and only if) attributed. You may redistribute this article if and only if your recipients may as well.
abyss@Apple.COM (Ananthan Srinivasan) (08/10/90)
The shared library documentation is in A/UX Programming Languages and Tools - Vol. 1 of the A/UX 2.0 set of manuals. Additional info. is present as already mentioned in the 'mkshlib' man pages. Re. the suitable address ranges - the above documention does not have any information. This is going to hopefully be in the 'Tech. notes' for developers. The current scheme of mapping puts the shared library targets in the 256M chunk of the system ROM address space (i.e between addresses 40000000 and 50000000). Libraries developed within Apple are meant to be mapped between 40000000 and 4800000 and libraries developed by others are to be mapped betw. 48000000 and 50000000. Mapping addresses is subject to the requirement by the linker that it be on 256K boundaries. We are trying to put a mechanism in place where developers of public usage libraries can obtain "address ranges" to map their libraries into and hence avoid clashes with other library addresses. (Note : The above addresses are all in hexadecimal notation.) Srinivasan, A.B.