1
0
Files
irix-657m-src/eoe/include/makerules/so_locations.master
2022-09-29 17:59:04 +03:00

489 lines
14 KiB
Plaintext

# Rationales for an official so_locations file:
# 1) to save kernel space reserved for page table -- each active
# 4Meg of user virtual space requires 4K of kernel page table space;
# 2) to save kernel virtual space (tlb) required to map each page of
# page tables.
# 3) to give rqsall information to help it place all the libraries so
# that they quickstart.
#
# 1) Put all libraries that you think are likely to be linked by the same
# program in the same 4Meg segment. This saves kernel page table space
# and can potentially speed up the program.
#
# 2) Allow adequate space between 4Meg segments of non-related libraries
# so that redistribution of one ISM type does not mess up other ISMs.
#
# 3) All libraries should be listed. If packing isn't an issue
# then use the 'catch-all' range at the end.
# 4) There are 2 ways to pack - take a 4Mb chunk and have each .so
# specify the entire 4Mb range. ld(1) will do the packing.
# This has the advantage of dealing well with one or more
# libraries changing size - each build will straighten things out
# unless the total size gets too large. It has a few disadvantages:
# a) if you have more than one version of the library with the same
# soname (this file matches on soname), and one is alot
# large than the other, you can run into trouble if
# the smaller one is built first, then another library in the
# range is built, followed by the larger version. The larger
# version won't fit.
# b) if the libraries come from different isms and something goes
# wrong with the build, its more likely that libraries
# will collide.
# The second way is to create a separate range for each .so. This
# will guarentee no overlaps, but of course if the library grows
# too large ...
# 5) Don't put libs in here that aren't shipped - we'll run out of space!
#
# This file is used for both o32 and n32
#
# The range 0x0f800000-0x0fc00000 is reserved for system related libraries.
# rld heap (128K max) at 0x0fbe0000 (rld heap can grow beyond 0x0fc00000).
rld.heap \
:st = $range 0x0fbe0000, 0x00020000:\
:st = .data 0x0fbe0000, 0x00020000:\
# rld text (384 K max) at 0x0fb60000, data (128 K max) at 0x0fbc0000
# this is so that we can reserve this slot for rld.
rld \
:st = $range 0x0fb60000, 0x000080000:\
:st = .text 0x0fb60000, 0x00060000:\
:st = .data 0x0fbc0000, 0x00020000:\
#
# we explicitly set the text and data since all h*ll breaks out if
# we ever have data below text
#
libc.so.1 \
:st = $range 0x0fa00000, 0x000160000:\
:st = .text 0x0fa00000, 0x00140000:\
:st = .data 0x0fb40000, 0x00020000:\
libcurses.so \
:st = $range 0x0f9b0000, 0x000050000:
libadm.so \
:st = $range 0x0f980000, 0x000030000:
libcrypt.so \
:st = $range 0x0f960000, 0x000020000:
libdl.so \
:st = $range 0x0f940000, 0x000020000:
libgen.so \
:st = $range 0x0f920000, 0x000020000:
libmalloc.so \
:st = $range 0x0f900000, 0x000020000:
librpcsvc.so \
:st = $range 0x0f8e0000, 0x000020000:
libw.so \
:st = $range 0x0f8c0000, 0x000020000:
libC.so \
:st = $range 0x0f890000, 0x000030000:
libC.so.2 \
:st = $range 0x0ac00000, 0x00400000:\
libm.so \
:st = $range 0x0f830000, 0x000060000:
libmutex.so \
:st = $range 0x0f810000, 0x000020000:
# The range 0x0f400000-0x0f800000 is reserved for X libraries
libX11.so.1 \
:st = $range 0x0f400000, 0x400000:
libXt.so \
:st = $range 0x0f400000, 0x400000:
libXaw.so.2 \
:st = $range 0x0f400000, 0x400000:
libXmu.so \
:st = $range 0x0f400000, 0x400000:
libXext.so \
:st = $range 0x0f400000, 0x400000:
libXi.so \
:st = $range 0x0f400000, 0x400000:
libXpm.so.1 \
:st = $range 0x0f400000, 0x400000:
# The range 0x0e800000-0x0ec00000 is currently reserved for future expansion
# of the above X libraries.
reserv1 \
:st = $range 0x0e800000, 0x400000:
# The range 0x0f000000-0x0f400000 is reserved for libgl,libfm,libgltrace
# we give libgl its own space since it generates potentially lots of versions
libfm.so \
:st = $range 0x0f200000, 0x200000:
libgltrace.so \
:st = $range 0x0f160000, 0x0a0000:
libgl.so \
:st = $range 0x0f000000, 0x160000:
# The range 0x0ec00000-0x0f000000 is currently reserved for future expansion
# of the above gl and font manager libraries.
reserve2 \
:st = $range 0x0ec00000, 0x400000:
# The range 0x0e400000 - 0x0e800000 is reserved for libraires used by toto
libCadmin.so \
:st = $range 0x0e400000, 0x400000:
# The range 0x0dc00000 - 0x0e400000 is reserved for image libraries (IFL/IL)
libifl.so \
:st = $range 0x0dc00000, 0x800000:
libil.so \
:st = $range 0x0dc00000, 0x800000:
libilVk.so \
:st = $range 0x0dc00000, 0x800000:
libiflJFIF.so \
:st = $range 0x0dc00000, 0x800000:
libiflTIFF.so \
:st = $range 0x0dc00000, 0x800000:
libiflFIT.so \
:st = $range 0x0dc00000, 0x800000:
libiflGIF.so \
:st = $range 0x0dc00000, 0x800000:
libiflPNG.so \
:st = $range 0x0dc00000, 0x800000:
libiflSGI.so \
:st = $range 0x0dc00000, 0x800000:
libiflPPM.so \
:st = $range 0x0dc00000, 0x800000:
libiflPhotoCD.so \
:st = $range 0x0dc00000, 0x800000:
libiflRaw.so \
:st = $range 0x0dc00000, 0x800000:
libcifl.so \
:st = $range 0x0dc00000, 0x800000:
libcil.so \
:st = $range 0x0dc00000, 0x800000:
libiflAlias.so \
:st = $range 0x0dc00000, 0x800000:
libiflSOFTIMAGE.so \
:st = $range 0x0dc00000, 0x800000:
libilTCL.so \
:st = $range 0x0dc00000, 0x800000:
libiflYUV.so \
:st = $range 0x0dc00000, 0x800000:
libilMon.so \
:st = $range 0x0dc00000, 0x800000:
# The range 0x0d800000 - 0x0dc00000 is reserved for opengl/gl libraires
# see also 0x0a800000
# In order to prevent libGLcore from getting crowded out, we break the
# bottom 4MB into two 2MB pieces and give one to libGLcore.
libGL.so \
:st = $range 0x0d800000, 0x200000:
libGLcore.so \
:st = $range 0x0da00000, 0x200000:
# The range 0x0d400000 - 0x0d800000 is reserved for libraries used by toto
libvkSGI.so.1 \
:st = $range 0x0d400000, 0x400000:
libvkhelp.so.1 \
:st = $range 0x0d400000, 0x400000:
libvk.so.1 \
:st = $range 0x0d400000, 0x400000:
libvkmsg.so.1 \
:st = $range 0x0d400000, 0x400000:
libdesktopUtil.so \
:st = $range 0x0d400000, 0x400000:
libdesktopIcon.so \
:st = $range 0x0d400000, 0x400000:
libdesktopFileicon.so \
:st = $range 0x0d400000, 0x400000:
libvkwebhelp.so.1 \
:st = $range 0x0d400000, 0x400000:
libhelpmsg.so \
:st = $range 0x0d400000, 0x400000:
libdesktopGallery.so \
:st = $range 0x0d400000, 0x400000:
# tooltalk
libtt.so \
:st = $range 0x0d400000, 0x400000:
# The range 0x0d000000 - 0x0d400000 is reserved for dmedia libraries
libaudiofile.so \
:st = $range 0x0d000000, 0x400000:
libaudioutil.so \
:st = $range 0x0d000000, 0x400000:
libmidi.so \
:st = $range 0x0d000000, 0x400000:
libawareaudio.so \
:st = $range 0x0d000000, 0x400000:
libdmedia.so \
:st = $range 0x0d000000, 0x400000:
libmediaclient.so \
:st = $range 0x0d000000, 0x400000:
libaudio.so \
:st = $range 0x0d000000, 0x400000:
libvice.so \
:st = $range 0x0d000000, 0x400000:
libVkCapture.so \
:st = $range 0x0d000000, 0x400000:
# The range 0x0cc00000 - 0x0d000000 is reserved for il8n libraries
libwnn.so \
:st = $range 0x0cc00000, 0x400000:
libjgl.so \
:st = $range 0x0cc00000, 0x400000:
libXawI18n.so \
:st = $range 0x0cc00000, 0x400000:
# The double range 0x0c400000-0x0cc00000 is reserved for Inventor libraries.
# Note: n32 inventor is bigger than 1 block, but o32 fits.
libInventor.so.3 \
:st = $range 0x0c670000, 0x00590000:
libInventorXt.so.3 \
:st = $range 0x0c400000, 0x00270000:
# The range 0x0c000000 - 0x0c400000 is reserved for lesser used system libs
libpthread.so \
:st = $range 0x0c000000, 0x400000:
libudma.so \
:st = $range 0x0c000000, 0x400000:
libl.so \
:st = $range 0x0c000000, 0x400000:
libmediad.so \
:st = $range 0x0c000000, 0x400000:
libpkg.so \
:st = $range 0x0c000000, 0x400000:
libnls.so \
:st = $range 0x0c000000, 0x400000:
libmx.so \
:st = $range 0x0c000000, 0x400000:
libgrio.so \
:st = $range 0x0c000000, 0x400000:
libdm.so \
:st = $range 0x0c000000, 0x400000:
libirixpmda.so \
:st = $range 0x0c000000, 0x400000:
libabi.so \
:st = $range 0x0c000000, 0x400000:
libarray.so \
:st = $range 0x0c000000, 0x400000:
libdisk.so \
:st = $range 0x0c000000, 0x400000:
libdpipe.so \
:st = $range 0x0c000000, 0x400000:
libnanothread.so \
:st = $range 0x0c000000, 0x400000:
librsvp.so \
:st = $range 0x0c000000, 0x400000:
libAS.so \
:st = $range 0x0c000000, 0x400000:
libprio.so \
:st = $range 0x0c000000, 0x400000:
libperfex.so \
:st = $range 0x0c000000, 0x400000:
libdprof.so \
:st = $range 0x0c000000, 0x400000:
libdplace.so \
:st = $range 0x0c000000, 0x400000:
libfetchop.so \
:st = $range 0x0c000000, 0x400000:
# The range 0x0bc00000 - 0x0c000000 is reserved for video libraries
libvl.so \
:st = $range 0x0bc00000, 0x400000:
Sirius.so \
:st = $range 0x0bc00000, 0x400000:
SiriusVL.so \
:st = $range 0x0bc00000, 0x400000:
vino.so \
:st = $range 0x0bc00000, 0x400000:
ev1.so \
:st = $range 0x0bc00000, 0x400000:
sv1.so \
:st = $range 0x0bc00000, 0x400000:
cl_cosmo.so \
:st = $range 0x0bc00000, 0x400000:
cosmo.so \
:st = $range 0x0bc00000, 0x400000:
# The range 0x0b800000 - 0x0bc00000 is reserved for less-used Motif librairies
libMrm.so.1 \
:st = $range 0x0b800000, 0x400000:
libUil.so.1 \
:st = $range 0x0b800000, 0x400000:
# The range 0x0b400000 - 0x0b800000 is reserved for SVR4 net libraries
libnsl.so \
:st = $range 0x0b400000, 0x400000:
libsocket.so \
:st = $range 0x0b400000, 0x400000:
nis.so \
:st = $range 0x0b400000, 0x400000:
resolv.so \
:st = $range 0x0b400000, 0x400000:
straddr.so \
:st = $range 0x0b400000, 0x400000:
tcpip.so \
:st = $range 0x0b400000, 0x400000:
# The range 0x0b000000 - 0x0b400000 is reserved for motif libraries
libXm.so.1 \
:st = $range 0x0b000000, 0x400000:
libSgm.so.1 \
:st = $range 0x0b000000, 0x400000:
# The range 0x0ac00000 - 0x0b000000 is reserved for other compiler libs
libexc.so \
:st = $range 0x0ac00000, 0x400000:
libftn.so \
:st = $range 0x0ac00000, 0x400000:
libfpe.so \
:st = $range 0x0ac00000, 0x400000:
libfastm.so \
:st = $range 0x0ac00000, 0x400000:
libmp.so \
:st = $range 0x0ac00000, 0x400000:
libcomplex.so \
:st = $range 0x0ac00000, 0x400000:
libm43.so \
:st = $range 0x0ac00000, 0x400000:
libCsup.so \
:st = $range 0x0ac00000, 0x400000:
# The range 0x0a800000 - 0x0ac00000 is reserved for other OpenGL libraries
libGLS.so \
:st = $range 0x0a800000, 0x400000:
libGLC.so \
:st = $range 0x0a800000, 0x400000:
libGLU.so \
:st = $range 0x0a800000, 0x400000:
libFL.so \
:st = $range 0x0a800000, 0x400000:
# The range 0x0a000000 - 0x0a800000 is reserved for cmplrs
libftn90.so \
:st = $range 0x0a000000, 0x800000:
libfortran.so \
:st = $range 0x0a000000, 0x800000:
libffio.so \
:st = $range 0x0a000000, 0x800000:
# Catch-all range
# If a .so is shipped, and its not in one of the above ranges - place it
# here. This is also where we place $start_address (for SGI build)
# so that any non-spec'd .so's will be placed somewhere in here.
# This range is from 0x02000000 -> 0x0a000000 - 128Mb.
libmd.so \
:st = $range 0x02000000, 0x08000000:
libmalloc_cv.so \
:st = $range 0x02000000, 0x08000000:
libMMmalloc.so \
:st = $range 0x02000000, 0x08000000:
libogldebug.so \
:st = $range 0x02000000, 0x08000000:
liblim.so \
:st = $range 0x02000000, 0x08000000:
libgd.so \
:st = $range 0x02000000, 0x08000000:
libwebviewer.so.1 \
:st = $range 0x02000000, 0x08000000:
libwio.so.1 \
:st = $range 0x02000000, 0x08000000:
libwioutil.so.1 \
:st = $range 0x02000000, 0x08000000:
libcwio.so.1 \
:st = $range 0x02000000, 0x08000000:
libwwwhelp.so \
:st = $range 0x02000000, 0x08000000:
libsgihelp.so \
:st = $range 0x02000000, 0x08000000:
libshowcaseui.so \
:st = $range 0x02000000, 0x08000000:
libshowcase_shareext.so \
:st = $range 0x02000000, 0x08000000:
libshowcase3d.so \
:st = $range 0x02000000, 0x08000000:
libcl.so \
:st = $range 0x02000000, 0x08000000:
libdmc.so \
:st = $range 0x02000000, 0x08000000:
libdn.so \
:st = $range 0x02000000, 0x08000000:
libsnmp.so \
:st = $range 0x02000000, 0x08000000:
libX11.so.2 \
:st = $range 0x02000000, 0x08000000:
libblas.so \
:st = $range 0x02000000, 0x08000000:
libblas_mp.so \
:st = $range 0x02000000, 0x08000000:
libufm.so \
:st = $range 0x02000000, 0x08000000:
libMediaViewer.so \
:st = $range 0x02000000, 0x08000000:
libfxplugmgr.so \
:st = $range 0x02000000, 0x08000000:
libfxplugutils.so \
:st = $range 0x02000000, 0x08000000:
libmpi.so \
:st = $range 0x02000000, 0x08000000:
libsma.so \
:st = $range 0x02000000, 0x08000000:
libpvm3.so \
:st = $range 0x02000000, 0x08000000:
libpvm3-i8.so \
:st = $range 0x02000000, 0x08000000:
libst.so \
:st = $range 0x02000000, 0x08000000:
# tcl libs
libOratcl.so \
:st = $range 0x02000000, 0x08000000:
libSybtcl.so \
:st = $range 0x02000000, 0x08000000:
libitcl.so \
:st = $range 0x02000000, 0x08000000:
libtclObjSrv.so \
:st = $range 0x02000000, 0x08000000:
libtkGLXAux.so \
:st = $range 0x02000000, 0x08000000:
libtkGLX.so \
:st = $range 0x02000000, 0x08000000:
libexpectk.so \
:st = $range 0x02000000, 0x08000000:
libtclMotif.so \
:st = $range 0x02000000, 0x08000000:
libexpect.so \
:st = $range 0x02000000, 0x08000000:
libtkX.so \
:st = $range 0x02000000, 0x08000000:
libtclX.so \
:st = $range 0x02000000, 0x08000000:
libtcl.so \
:st = $range 0x02000000, 0x08000000:
libpvtcl.so \
:st = $range 0x02000000, 0x08000000:
# Performance Co-Pilot libraries and PMDAs
libpcp.so.1 \
:st = $range 0x02000000, 0x08000000:
libpcp_lite.so.1 \
:st = $range 0x02000000, 0x08000000:
libpcp_pmda.so \
:st = $range 0x02000000, 0x08000000:
libpcp_wio.so \
:st = $range 0x02000000, 0x08000000:
libpcp_wioutil.so \
:st = $range 0x02000000, 0x08000000:
libpcp_socks.so \
:st = $range 0x02000000, 0x08000000:
pmda_pmcd.so \
:st = $range 0x02000000, 0x08000000:
pmda_proc.so \
:st = $range 0x02000000, 0x08000000:
pmda_environ.so \
:st = $range 0x02000000, 0x08000000:
libvkpcp.so \
:st = $range 0x02000000, 0x08000000:
# All DSO's need to be below 0x10000000 (start of data/heap). This is so
# that we don't use up valuable heap/stack space by fragmenting
# the address space. So we pile them all in below 0x0a000000.
$start_address=0x0a000000