[comp.os.os9] linker problems

edstrom@elmer.hsc.ucalgary.ca (John Edstrom) (02/01/91)

Many thanks to the various people who responded to my request for help
with this problem both here, via email and phone.  I don't think I could have
figured it out on my own.

For any interested person's future reference the device static storage
offset is calculated as follows.  Space needs to reserved for both the
IOMan and the filemanager.  As was mentioned by Josef Reisinger the memory
reserved for IOMan is given by the constant V_USER in /h0/defs/iodev.a.
The amount of memory required by the filemanager is added to this for a
final total defined by V_SCF in /h0/defs/scfdev.a (or whatever file manager).
But V_SCF is calculated from V_USER so you need to include both files.

so now it goes:
 
    use /h0/defs/iodev.a
    use /h0/defs/scfdev.a

    vsect
junk      ds.b  V_SCF
mystuff   ds.l  1
   ...
    ends


This is easy to miss if you read the manuals.  Now that I know what I'm looking
for I still can't find it in the manuals.

One last question, why do I have to use ds.b to fill the space?  Shouldn't
"org V_SCF" work as well.  By setting the offset counter to the given value
shouldn't "mystuff" be assigned the value V_SCF?

John Edstrom  | edstrom@elmer.hsc.uclagary.ca

--
 RM 2104, HSc Building,  Div. Neuroscience
 U. Calgary School of Medicine,  3330 Hospital Drive NW
 Calgary, Alberta       T2N 3Y4
 (403) 220 4493  (wk)