ARH4895_SES_MC68000_Absolute_Linker_ERS_May84 ARH4895 SES MC68000 Absolute Linker ERS May84
ARH4895_SES_MC68000_Absolute_Linker_ERS_May84 ARH4895_SES_MC68000_Absolute_Linker_ERS_May84
User Manual: ARH4895_SES_MC68000_Absolute_Linker_ERS_May84
Open the PDF directly: View PDF
.
Page Count: 48
| Download | |
| Open PDF In Browser | View PDF |
1
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SES MC68000 Absolute LINKER
R £,,:
B
EXTERNAL REFERENCE SPECIfICATION
for
SES MC68000 Absolute LINKER
Subrrd ttedt
Approveds
DISClAIM~R:
This documpnt is en internal working pAPer ontv.
It is
subject to chance, and does not n.cessarilv repres@nt eny
officlat Intent on the part of CDC.
CCMPANY PRIVAl'E
CDC - SOFTWARE ENGINEERING SERVICES
0511(/84
ERS for SES MC68000 Absolute LINKER
REVISION DEFINITION SHEET
----.---+----------+--.---------.-------------.---.------------.---REV
A
B
DATE
•.,
••
•
•,
••
I
•..
•
•
•
••
•,
,•
f
3
I
I
t
,
••
••
•
t
~
,
•
•
•,
,
DESCRIPTION
••
,•
• Miscellaneous corrections
•
••
•,
12122/81 : ERS (V3.0) Originel
(t5/10/84
I
1
•
••
1
I
t
••
•
•t
•
••
I
3
•
•
t
I
t
I
t
t
•
11
1
t
•
•,•
•
••
I
••
•
••
•
•••
f
t
t
•
t
•
J
•
••
••
t
c 198J .
Control O~t~ Corporation
Alt Rights Reserved
COMPA.NY PRIVATE
1-1
CDC - SOFTWARE fNGINEERtNG SERVICES
05/1(,184
ERS for SES MC680eO Absolute LINKER
RE VI
B
1.0 PREFACE
1.OfEffAtf
Thf! linker is ~ post compi I etlen uti Ii ty hy
~hich
input
object text is processed And written to v.rious segment files
which can then be loaded on the Motoroll 6POCC (~C68COO)
Simulator or MC68000 hardware.
The different object text
sections srp processed to form ~ set of memory segwent imaGes.
Oat, in the different segments is primarily referenced vii
pointers setup in the Binding segment which is Initialized at
link
tim..
Unsatisfied extern$1s are satisfied from the
specified libraries.
Users have the option of supplying the Input vie an object
file
(with or without tibrary f.les)
IS
cwnerated by p
compiler or assembler, or else th~y way specify pn entry point
fro~ • module on a specified library as the STARTING_PROCeDURE
parameter on the lINK68K command, and the linker will
extr8ct
the module 'rom the library which contains the specified entry
point end link it.
The input to the linker consists of MC680CO object modules
in SFSlo.der text
tormqt Vl.4 gpnerated by rompilers and/or
assemhlers running on CVBER 170.
The output of the linker is a series of files corresponding
to MC6BOOC memory; a h~adar file which cont9ins the segment
attrihut@s for ~9ch output segment; potentiftl, en outbo9rd
symbol t~b'e file and 9 debuQ information fil~.
1. 1 .~C.!Jf.f
This document describes the extern!' ch.reeteristics of
th~
SES MC680tC Absolute linker V3.0.
CD~PANY
PRIVATE
1-2
CDC - SOfTWARE ENGINEERING SERVICES
C5/1(;/84
ERS for SES MC68CCC Absolute LINKER
REV:
B
1.0 PRfFACf
1.2 APPLICABLE DOCUMENTS
The fo'iowino is a list of documents thet either erp
referred to in this specification or are recommen~ed to aid in
underst~ndinc and usino this specification.
1) SES User's Handbook (ARH1833)
Offset linking: An ootJonal mode of linkinp wher~in t~e
segmpnts output by the Linker are to be
loaded ,t
eddrpsses thlt ar~ different than the addresses at which
they wi'. ultlmatelv execute.
Inbo9rd symbol teble: A table 0' resolved e~trY points from ~
previous linkage provided as input to thp current tinkage.
Use of the Inboard symbol t~ble a"ows the linkaae of only
a part o. the code that will actually te prpsent when t~e
code is executed.
Outboard symbol tablel A table of resolved entry points
produced by the current linkaae for
inclusion in future
'ink~Qes.
ani, entry points .ro~ roodu'ps PDss~ssino the
"gated" attribute are included in the outboard symbol
t~b'p.
Use of the outtoard symbol tehle allows entry
rl~~initions
from t~A current
'ink8pe to te us~d
in
~uhseQuent Iinkeops without relin~ing t~. modulps in whlch
the entry points are defined.
The linker performs only
users
havp
sp~ci'led
~ny
cursory ctecks to ~~termine
if
duplicAte file n~~ps in t~eir
COMPANY PRIVATE
1-3
CDC - SOFTWARE ENGINEERING SERVICES
05/1(/84
ERS tor SfS MC6eOOO Absolute LINKER
REV: B
1.0PRE-FACE
1.4 DEFICIENCIES AND LIMITATIONS
The llnkAr performs no checks to detrrmine If any ftle
generated from the NAME_SEED dupl icete ~ny fi Ie names
users have specified in their paraweterlzation.
Therefore,
the linker may abort or yield Indeterminate results. Hence,
users must r~soJve any file naminp conflicts prior
to
executing the LINKER com~and.
nsmes
The Linker
is sensitive to portions of the date on en
obJpct f i t , . It uses some of the date for comout,tions.
Therefore, .n object fi'e that has been in~crrectly generated
may cause the Linker to abort or yield Indeterminate results.
COMPANY PRIVATE
2-1
CDC - SOFTWARE ENGINEERING SERVICES
05/10/64
ERS for SES MC68000 Absolute LINKER
REVl
B
2.0 ACCESSING THE LINKER
----------------------~---------------------------------------------
The Linker is .cces5~d vig 8n SES procedure, which
is
described In a later section. Users can control the linkage
bv specifYing their par.meters on
the
Drocedur.
eall
(lINK68K),
in the linker Parameter File, or 8 combin~tion of
both.
P.r~meters
on the procedure
cat'
override
the
parameters sp~cifl~d In the P~rameter Ff Ie.
COMPANY PRtVA.Tf
3-1
CDC - SOFTWARE ENGINEERING SERVICES
05/10184
ERS for SFS MC68000 Absolute LINKER
3.0
LIN~ER
PARAMfTER FILE (lPF)
Th~ Linker Parameter Fitf' (lPF) consists of a teQibie
1il~
of subcommands, typically built and maintained by an editor,
th,t contro's t~e oper~tjon of the MC68000 'Inker. lPF is an
optlonel
parameter on the LINK68K command.
If e linker
parameter fite is not provided, defaults are as shown below.
Sever.' subcommends are provided: LINK_OPTIONS, DeJECT_FILE,
OBJECT_LIBRARY,
DEFINE_SEGMENT,
OBJECT_MCOUlE,
INBOARO_SYMROl_TA8lf, INCLUDE_LINKED_SYMBOLS, end END. Elc~
subco.mand Is entered on a separate line.
LINK_OPTIONS command proviaes
Qener.'
miscell~neous
p,rAw.ters which estab'lsh defaults for t~e LINK co~"and.
Only orp LINK_OPTIONS commend Is ~"oNPd.
Th~
lI~K_OPTIONS,£MAP~FILENA~E·fiteneme,£ ••
MAP_OPTIONS=m9P_opt1on,fREWIND_"AP,tNAME_SfEO=na"e_seed,£ ••
~AY_EXTfRNAlS=m8xlmum_extprnn's,EHEAP_SIZE=hesp_stzft,~ ••
STAPTING __ PQDCEDURE-primary_entry_point
FIELO
DEFAULT
~td~
_FILENAME
lINKMAP
DESCRIPTION
(CHAR 7) The NOS fi lpne~e of t~e LINKER
output listiro file on which the lINKER m~p
wi'l bewr Itten. This parameter is Ignored
if the MF
on
MAP_OPTIONS
M
th~
(mao
file)
p~rafreter
is specifitH'
LINK command.
(CHAR 1) The Linker map options which
contro' the amount of inforrn~tion output on
the Linker map. Vetues .or this fie'~ are:
N - no .map l"for~~tio": diagnostics
COMPANY PRIVATE
3-2
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SES MC680CO Absolute LINKER
PE VI
B
3.0 LINKER PARAMETER FILE (lPF)
3.1 lINK_OPTIONS
.....
- ....
-~.-.
.....................
.-..-~
....
---... ....-....- .... --........-- ....----.--...---...--..-.-
.......... .-. ....
--.....
-.
_
._.---...... _----..- ..... - ..... ................. _------
ere output.
S - section allocations
section
module
of
for
every
input
object
E - Section
point
eltacetin"s plus
names
and
address
assignments
M - Section &llocations, entry points
plus
output s~gment ?nd com.on
block allocations
I
Section alloc~tions, entry points,
output senment an~ common block
~11oc9tion5, plus
Inboard Sy~bot
Table (fuJI linker ~ap).
-
REWIND_MAP
REWIND_MAP
(KEYWORD) The option allowina yOU to
specify whether to rewind the LINKER map
file before It is wri tten.
REWIND_MAP - rewind ~?P fil~
NO_HAP_REWIND - don't rewind map file
NAME_SEfD
SEGM
(CHAR 4) Used as the first four characters
of the NOS file nemes 'or t~~ ~e.der fi fe,
output segments, fnd outto$rd symbol tAble
fi Ie.
This
field
is
i(H10rpC
if
thE"
n~me_seed
parameter Is specified on the
lINK68!<
MAX_EXTERNAL S
300
cO!1p'n~n(i.
(INTEGER) The maximum
a I t owed
num~er
of
exter~8'S
f nth I s lin k •
STAPTING_PROCEDURE
bl~nks
(CHAR ~l)
Primary entry point of
th~
progral'f! being
linked.
If
soectfJeo, It.
Dveridls sll trensfrr sv~hols 'ncountere~
in
the
input
object
modules.
This
ptrameter
is
ignored if t'-'e S? peramet·er
i~
used
on the lINK68K com~9nd.
If not
specified here or on the com~pnd, the first
tr~ns.er
symbol encountered is thA primary
entry polt"t.
Cf1f'1,PAN'f
PRIVAT~'
3·-3·
CDC - SOFTWARE ENGINEERING SERVICES
C5/10/f!4
ERS for SES MC680CD Absolute LINKER
..... ......... ..... ...... -----,........--..- ...
....- ....... -.----.......-...--.--- ....... ---------..... - . - ....
3.0 LINKER PARAMETER FILE flPF)
3.2 GBJECT_FIlE/OBJECT_lIBRARY
-
..-..~
-
----~
REV:
~ .-.
.... --.-..... - .........................
B
--- ........ -----.-----
-------------------------------------------------------------------One OBJECT_FILE command exists for e8C~ specified object file
entrY,
and
one OBJECT_LIBRARY command exists for each
specified library entry. lINK68K command parameters 'OFt' ~nd
'lFL' take precedenc. over these commands.
OBJECT_FILE, FrlENA~E=filenameJ ••
DfF'UlT_SECTIDN=IJst of (section_nem., ••
list of section_attributes)
OBJECT_LIBRARY, FIlENAME=fitename •••
DfFAUlT_SECTION=llst of (section_name, ••
list
seetlo"_@ttributes)
0'
fIELD
DEFAULT
FILENAME
non~
DffAUlT_SECTION
none
OrSCRIPTION
(CHAR 7) NOS file that nam@ 0'
that contains object modules.
f
loc!1 file
(CHAR 31, CHAR 1) The list of s.ctlon namps
to be Associated with any unnamed sections
with the matching Ittritut~s which 9PPP8r
in any modufe In the fife or library.
V~lues for the sectio~ ~ttribute are
R - re~d
w- write
E - execute
C[MPANY PRIVAlr
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
FRS for SES
~C68000
Absolute LINKER
3.0 LINKER PARAMETER fILE (lPF)
3.3 DEFINf_SEGMfNT
One DEFINE_SEGMENT entry exists fore3ch
Descriptor.
Either
lOAD_ADDRESS or
ATTRIBUTES must be specified.
Pre'lloc~ted
S~g~ent
fXECUTE_ADDRESS
and
DEFINE_SEGMENT, LDAD_ADDRESS=(of.set), ••
FXECUTE_ADORfSS=(offset), ••
ATTRIBUTES=(ettrihutes), SECTION_NAMf=(sectioo_"Bmes)
F IEtD
DEFAULT
LDAD_AOORFSS
C
E XEell T E_~ 0 n RES S
DeSCRIPTION
(ADDRESS) The IOld ~ddr.5s (byte offset)
o¥ the segment; specifies wherA the spgment
wi" bli?, loaded.
fA DDRES S )" The ? x ~ cut i on
9
d d res s (by t
~
C
offset) of the segment; specifjps where the
segment will ultimately execute.
If both
LOAD_AnDRESS
end EXECUTE_AOOPESSsre not
specified, offset loadino wi'l
not
b~
performed.
ATTRIRurES
(CHAR 2) Segment &ccess pttributps: any
number of th. fot lowinG Ittrlbutes e,n te
specified.
RD - reId
WT - write
EX - ~)(ecutAb'e
ET - extensible
SECTION_NAME
(CHAR 31) Name of Workina_Stor8pe sfctions
to be m9pped into this seg~p"t.
tl~nks
C[MPAN,(
PRIVATE
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SES HC68000 Absolute LINKER
PEV: B
3.0 LINKER PARAMETER FILE (lPF)
3.4 OBJECT_MDDUlE
The OBJECT_MaCULE command specifies rrodule names to
be
inc'uded In the link.
Only one OBJECT_MODUlf commend is
a • lowe d.
FIFt.D
DESCPIPTION
NAME
(CHAP 31) Name(s) of wodules to he
The
IN80ARD_SYMBOL_ lASl E
command
sp~ec
i f I es
NOS
included.
f I Ie
which cant'i" Inboard Symbol Tebles to be introduced into
LINK. Only one INBOARD_SYMBOL_TABLE eomm~nd Is allowed.
FIELD
NA~E
n:am~s
thp
DESCRIPTION
(CHAR 7) NOS
fii
I~
name(s)
of ill
1~~
cont9ininq
Inboard Symbol Tables.
T~e INCLUDE_LINKED_SYMBOLS command eopi~s the outhoard
syrrhol
tsbte into t pr~vious'v defined segment fi Ie built during this
.Inktqe. AI' of th.se subcommands wi" hp Droeesspo efter •• t
modulps
i~cluded
in the linkaoe have been linked; i.e. w~en
the outhoard symbol table is complete.
CCfv;PANY PRIVATE
CDC - SOFTWARE ENGINfERING SERVICES
05/1C/84
ERS .or SES MC680QO Absolute LINKER
REV: B
3.0 lINKfR PARAMETER FILE ftPF)
3.6 INCLUDE_lINKED_SYMBOLS
INCLUDE_LINKED_SYMBOLS, POINTER=pointer
SECTION=section neme
na~eJ
••
FIELD
DEFAULT
POINTER
(CHAR 31) The 8xternslly declered Ylriahl.
"Ime defined in the current linkage, of .n
~d.Dteble
pointer to t~e 1irked symbol
table which wll. be inittalized by this
command.
none
SFCTION
(CHAR
in
The
~
31)
The section neme of the segment
which the linked symbol
tab.e
is
to
h~
included.
The segment associeted with th.
section name must hRVP been
pllot8ted
previously during the 11nkage.
none
3. 7
DESCRIPTION
.E!:!12
END
P8r.aro~ter
commend
or
tnd-of-'ile sianifies
~n6
of th,
lin~er
Fi Ie.
C C~H).ANY pp TVA 1 f-
4-1
CDC - SOFTWARE ENGINEERING SERVICES
FRS for SES MC68000 Absolute LINKER
-~'---'----""'-'---""'----'-'~-~-.-..-----
4.0 LINKER FILE INTERfACE
05/10/84
FEV: B
--.-- ....---.------.......... -------------
....-:--.-.---.--.--.--. ...--- ..... ---,
The linker P9ramptAr Fite interfac~, riescrited ir
a
preceding section,
in its most specific sense prescribes the
file inter"c~ of the linker. The obJpct librery end ohject
file 5uncommanosidentify input object fi las and libraries by
name and their assoclated attributes.
The Inboerd Symbol
Table subcommand Identifies by name input file(s) containin~
in~Olrd symho' t9ble(s).
NOTE:
All files n~med in the subcomm~nds must be
the t I me the II nker I s Invoked.
toe,.
at
The
NAME_SEED
P8rameter of the lINK_OPTIONS subcomm9nd
specifies the string used by the linker to aenprate names for
the output files: header, segment, and outboard symbol table
files.
The followina sections ~re a hrief description of the input
I ibrafY and Inboard -syrr,ho' table fi le.s) and the
output files (header, sPQment, end outtoerd symbol tablp
files (object,
files).
CDMPAt--ry PRTVATF
4-2
CDC - SOFTWARE ENGINEERING SERVICES
()5/1CI84
ERS for SES MC68000 Absolute LINKER
REV: B
4.0 LINKER FILE INTERfACE
4.1 OBJECT FILES
The linker accepts, 8S input, object fites containing
modules in CDC loader text format Vl.4 generated by
compll.rs and .sse~blers running on CYBEP 170.
~ultiple
object modu.es m~y reside on an obj~ct file.
obj~ct
The obJ~ct modulp structure is basically comprised of an
IdentlflC8tion Record (lOR), Section O.flnition Records (SOC),
~nd
t~e
ohject text ~ssociated with the sections. The IDR
describes ~xternaJ ch.r~cteristics
(namf. time and
d~tp
created, version, creator, and a commentary) and Internal
ch~r~cterjstics (module attributes and th~ number of sfctlons)
of the object module. There is a SOC for e&ch section (code,
binding, ~orkina storAge, common, etc.)
cont.ired in the
object
module describing the various attributes of th~
s~etion.
The sDecific structure of object modutes is not 0' Qe"er~'
concern to users of the linker, but for
those who must
generate ohject modu'.s (comp~'er, assembler and utility
writers), A copy of the object modu'! type definition roPy ~e
'Gund in Apoendix A of this document.
COMPANY
PRIVATE
CDC - SOFTWARE ENGINEERING SERVICES
()5/1CI84
ERS for SES MC68000 Absotute LINKER
REV:
8
4.0 LINKER FILE INTERFACE
4.2 LIBRARY FILES
The linker also accepts as
input MC680(C library fifes
SES object modules formatted into B library by thp
MC68COO Objpct Code utilities. The definition of the ohj~ct
modules contained therein is the same as described In t~e
section entit'~d 10bjftct Files'.
containin~
The sPPcific structure of I 'ihr~ry 'i'e is not of general
concern to users of the linker, but fer those w~o are
interested, the record definition may ~e fourd in Appendix A
of this document.
COMPANY PRIVATE
CDC - SOFTWARE ENGINEERING SERVICES
C5/1(,/84
ERS for SES MC68000 Absolute LINKER
REV:
B
4.0 LINKER FILE INTERFACE
4.3 HEADER FIlE
T~e linker
outputs ! header file which describes the
results of a Itnkege.
The neme of the header file is the
concstenatlon
the
NAME_SEED
~rom
the
LINK_OPTIONS
subcowm~nd with the strina tHDR'.
0'
The header fIle structure is compri~ed of one header
variant and ~ s~gment descriptor varilnt for eech sPQment file
gener~ted
as the result of 8 'inksa~. The heeder variant
contains the number of segment descriptors,
the initial
p-address end its key, end the bindlno section address. The
seoment descriptor identifies by name, the fite on which the
segment wes written end its seament attrihutes.
The specific structure of the header fi Ie is not of aenerftl
concern to the users of the linker, but for those who must
int8rf,ce to the he~der file ~ copy of the type definiticr can
be obtained by contacting an SES representative.
CDC - SOFTWARE ENGINEERING SERVICES
0.5/10184
ERS for SfS "C68000 Absolute LINKER
REVt
6
4.0 LINKfR FILE INTERFACE
4.5 SYM80l TABLE FILES
A symbol tahle
fl1eis
,1,t
file
eont~ininQ
ft
teble of'
resolved entry points from an instance
linker execution.
The file is termed an Inboard Symbol Table file when used as
input to the Linker. The 'il. is termed ~n Duthosrd Symbol
Table file when it is output R5 • result of linker execution.
0'
The Outboard Symbol Table COST) file is generated by the
linker ont, If entry points which have the "gated" attribute
are encountered during a linker execution. Thp OST file name
is the concatent9tion 0' the NAME_SEED from the LINK_OPTIONS
subcommand with the string lOST'.
The
structure
of
~
symbol table is pertinent only to the
link~r9
COt'PANY PRIVATE
5-1
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SES MC680CO Absolute LINKER
REV:
B
,5.0 lINKfR MAP
The linker map describes the address assignments made by
the Llnk.r.
The NOS file name, onto which t~e linker .ep is
output, is specified either 85 8 lINK68K commAnd perImeter. or
else
In the tinker Par~ •• tpr File. The linker map cont.ins
four basic components which may be optionally listed.
A
sample map is included In 8 tater section.
The fo'towing information is printed for
every object module:
~very
section of
o Section type
o Access attributes
o lenQth
o Address 'load and execution If different)
o Section n8me or de'~ult section "'me If 8PpJiclble
The following informaton is printed for every pntry point:
c
o
nam~
~ddress
('o~d
end
ex~cutjon
A list of the externat
ertrv point list.
if different)
references
is
printf'~
~ft~r
the
COMPANY PRIVATE
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SES MC680CC Absolute LINKER
5.0 LINKER MAP
5.4 OUTPUT SEGMENTS AND
COMMON
BLOCKS
The following tntormstion Is
segment allocated by the linker:
printed
for
every
outout
o NOSfj'e name
o Address (load and execution
o length
o Access attributes
o Section n~mes, if 8ny,
i~
different)
gssoci~ted
~ith
the segment
Th~ fo"owina information is printed for every common block
allocated by the linker.
o N~me
o Access pttributes
o Length
o Address (load .nd execution if different>
C DMPA NY PRI \I.,A TE
6-1
CDC - SOFTWARE ENGINEERING SERVICES
(}511C/84
ERS for SES MC68000 Absolute LINKER
RE V:
B
-------------------------------------------------------------------6.0
PROCEDURAL INTERFACES
lIN~ER
The following sections are also
H9ndtook.
cont~ined
in thf SfS Us.r 1 s
LINK68K pxecutes the MC68COO.lbsolute linker, which lin~s d~tl
from (VOIL object files/libraries and produces a ~ap file and
a set of SEGMpnt files. Th~ procedure is set UP so that the
user c,n sp~ci'Y his own Linker Paramet~r
Fi'e
(LPF)
containin~ MC68000 absolute Linker subcommand that control the
•
ink~Qe.
Parameters to lINK68K
off
If.
SD
~re:
IF J lename(s),optionaf)
0'
ObJect_Fi Ie_List - list
up to Ie
conteinino SES object text (Vl.4).
does not have a default.
(Fi
n?m~s
T~is
of
files
p.remet~r
'en~m~(s),optiona.l)
LihrtrY_Fi.e_Llst list of UP to Ie n8m~s of
library files containing SES object text. This
p~rameter does not have, de'eu,t.
(String(31), optionAl)
Starting_Procedure - This parameter specjfl~s thp
entry point ~t whJch to start e)ecution.
T~e
d~f8utt is to st9rt execution ~t t~p first
Tr~nsfer
symbol encountered.
os (Strinq(4), option~l)
Nqm@_Seed - This per.~eter soecifies the 'name seprl'
for the MC68000 linker Segment fltes.
The default
for this perimeter
is 'SEGM'. Thp value of this
p~rameter
OVER~IDES
eny Linker
p~r?weter
Fil.
C CMPANY
PR 1 'Vtl Tf
f-2
CDC - SOFTWARE ENGINEERING SERVICES
(f5/10/84
ERS for SfS MC68QOO Absolute LINKER
REV I
B
6.0 LINKER PROCEDURAL INTERFACES
6.1 lINK6BK"- EXECUTE THE MC68CGO A8S0lUTE LINKER
specification of this field.
mf
optlona')
Map_File - This parameter specifjes the name of thp
wap
file.
The default for this o,ra.eter is
'LINKMAP'. The value of this par8~eter OVERRIDES
any linker Perempter flIp speci.ieation of this
(FIIEH"HH1le,
fle'd.
mo (Char 1, option~l)
linker Map options - This p~rameter sP£cifies thp
amount of informstion output O~ the lin~er ~ap.
The value of this parameter OVERRIDES any Linker
Parameter FIle specificetie" of ttis field. Values
.or this field ere:
N - no .ap Information; diagnostics ere output.
S - section allocations for every section of
every input object module
E - Section ~IJoc~tions plus entry point rRmes
and address assignments
M Section
allocations,
entry points plus
output segment and common bfock allocations
I - Section 81'oc~tions, entry points, output
segment and common block allocations, o'US
Inboard Symbol Teble (full linker map).
rewind (Keyword, QPtlonel)
Rewlnd_msp_file - This p8raweter specifies whether
to rewind the Mep fila before i t is Mrltten.
Default is to rewind it.
The Y~lu, of
thi~
p~rameter
OVERRIDES
any Linker Parameter File
specification of this *Ifl~. Keyword v~tue me~ninQs
sr e t
REWIND - rewind M~p file
NOREW - don't rewind Map file
Ipf
option311
linker_Perameter_Fite
Thts Plremeter specifies a
fife that cont~lns linker parameters that affect the
Link.
If no
Ipf
is specified, d~flult values
Indicated in th~ LPF rl~sertption ~pplv.
(Fi'en~me,
cyhmllb, diosllb (Keyword, optional)
This parameter, wMen specified, wi"
cause
CYBMLIR
COMPANY PRIVATF
£:·-3
CDC - SOFTWARE ENGINEERING SERVICES
05/1(/84
ERS for SES MC6BQOO Absolute LINKER
6.0 LINKER PROCEDURAL INTERFACES
6.1 lINK68K - EXECUTE THE MC68000 ABSOLUTE LINKER
-------------------------------------------------------------------to be used to satisfy externals during the linkino
process.
The
procedure wi I'ACQUIRE the file from
SfS and add it to the library_file_list.
The
default Is not to use CYBMLIB IS Dart of thE link.
Example:
In
the
following
eX8$ple
the
linker
is PRsspd
i
linkpf
Par1HJ1eter Fi If' cal led 'mylch'.
ses.fink68k of'=(lg01,lg02) Ipf=mylp'
COMPANY PRIVATE
6-4
CDC - SOFTWARE ENGINEERING SERVICES
0511C/84
ERS for 5ES "C68000 Absolute LINKER
6.0 tINKER PROCEDURAL INTERFACES
6.2 EXAMPLE OF lINKER PARAMETER FILE
•
_____
_ __ __ Q ___
62
fXAMp1f OF LINKFo
PARAM~TcR FIi~_____
~
t_~___
~~
The .otlowino Is an ex~mple of a tinker Parpmeter File.
Since the Linker ignores Items in the list with blank or
unJnltlalized fll. n~mes, this 8110ws you to include the
decler.ticn ~nd access attribute initiati78tion of the object
file Jist in your command fiJe, leaving only the specification
of Input file name until YOU are read, to issue the LINK
command.
obj~ct_'ile
filename=re11 default_sectlon«ccdel r ell
•
,•
•
~
define_segrrent (00(16)
attributes=(rd ex wt) ALSSORG_OCCCCOOC
t
define_segwent (80(16») attributes=(rd ex wt) ALSSDRG_COOOOCBC
definw_seg"ent (111400(lb}) attrlbutes=(rd ex) code2
WARNING:
If an DRG section is net lo~dad It t~e ad~ress
specified in the assembly, problems wi" show UP in the
lece1 symbol file w~an everyt~lna is t&~en down to t~e
H-P development statution.
CO{l'lPANY
PRIVATE
CDC - SOFTWARE ENGINEERING SERVICES
(;5/10/84
ERS for SES M(68000 Absolute LINKER
REV:
B
6.0 LINKER PROCEDURAL INTERFACES
6.3 EXAMPlF OF LINKER MAP
LINKER V 3.0 OUTPUT LISTING
MODULE
• TESl
FILE
==
lGO
SEC-lInN TYPEI
ACCESS ATTRIBUTES
05.121/83
LANGUAGE
05/21/83
&
ASSEM8LER
16:00106.000
LENGTH
LOADI
EXECUTIONADDR
28
oeo ocococcc
WORKING STORAGE
READ WRITE
•
I
f
WORKING STORAGE
1
READ
8
oeo OC()OC030
22
000 0((;00C4(;
CflOE
REAO EXECUTE
fNTRY POINT DEFINITIONS
ENT
NOT GATED
LINKER V 3.0 OUTPUT LISTING
ADDRESS
(:0(' CCQC(;C4C,
05/21/83
16.(0.46
SES/MC68CCO LINKER OUTPUT
STARTING PROCEDURE
ADDRESS
= ENT!
=
FILE NAMEI
ACOESS ATTRIBUTES
LENGTH
SEGM1Cl
RE AD WR I TE
LOADI
EXECUTION AOOR
28
*
(:c(
CCO()COCO
8
*
oce
CCQCC030
SEGMIC,2
RE AD
000 OC00004C
•
l
t
t
•,
•
SEG~101
RE~D
EXECUTE
NO LINKER
ERRO~S
22
t
WERE DETECTED
COMPANY PRIV,ATF
7-1
CDC - SOfTWARE ENGINEERING SERVICES
05/1(/84
fRS for SES M(68000 Absolute LINKER
REV:
B
7.0 ERROR MESSAGES
The linker provides two varieties of error meS$eQ~l SFS Set
error messages describing the disposition
the command, and
linker di~anosties printed o~ the Linker m'p.
0'
linker Sel ~essages conform to the SFS mess~oe standards
described in the Megglge Generator (MG) Interface ERS.
10000
l(;l.OC
LINKER TERMINATED NORMAllY
MEA~INGI
The linker has
with no fet., or
ACTION: Be thankful.
8S
terminated normal'y
errors.
non'at~1
LINKER NORMAL TERMINATE WITH NONFAT~l ~RRORS
SEF
MAP LISTING
MEANING: One or more non
errors wer~
encountered durlnq the linker Co~mand.
Linker output Is proben' y vali d.
ACTION: Check linker m~p for dlsonostie or
'pt.,
~iaonostics.
lClOl
LINKER ABNORMAL TfRMINATf - SEE MAP LISTING
MEANING: The Linker h~s det~ct~d 8 fatsl error
and Qreee.utly aborted. linker output
is undefined.
ACTIONI Check linker
.ap
for
diaqnostic;
corr.ct proble" ~nd rerun
1(;lC2
LINKER ABNORMAL TERMINATE - ND MODULES PROVIDEO
MEANINGS No object modu'~ input was encounterftd
by the linkf'.r.
ACTION: Check the 'Of I' oar'met@r on t~e LINK
command,
if
specified, or else the
OBJECT_FILE In thp Lin~er Parameter
File;
check
the
KFN
'fields
ota"
elements
the object fite list;
Ch;f~ck all files for
Input.
0'
COt'tPANY PRIVATE
7-2
CDC - SOFTWARF FNGINEERING SERVICES
(,5/1(' 184
ERS for SES "C68000 Absolute LINKER
R EVt
B
1.0 ERROR MESSAGES
7.1 Set f-iESSAGES
l02CO
LIBRARY FILE ftle_name NOT LOCAL
MEANINGs File specified by the ' t f l ' parAmeter
of
the
lINK68K
com~lnd
or the
IOBJECT_LIBRARY' command of the linker
P~rtunetpr fi Ie is not e tot'S:,
fi Ie.
ACTION: Make t~e file local or remov~ the
P3rameter.
1 (;2 (j 1
OBJECT FILE fite_name NOT LOCAL
MEANING: File specified by tht 'oftt parameter
of
the
LINK68K
command
or the
'OBJECT_FILEt command of the linker
ACTION
lC202
I
P~r8mete.r Fi Ie is not
Mgke t h e f i t e
'oca I
parameter.
g
lo('~J
or
fi 1£'.
f(lmOVe
tt,~
OBJfCT FILENAME flte_name DUPLICATES EXISTING FIlf
MEANING: Filename specified 8S pnd object file
or
Itbrary ('ofl'or ' f f t ' of tre'
LINK68K command or 'OBJECT_FTlf' or
fOBJECT_LIBRARY'
of
t~e
linker
~nother
Parameter Fi Ie
dupl ic@tes
specffed fitename.
ACTIONI
Remove
M~ke
t~e
th~
specification of this fi'e.
fi Ie
loc~1
or
remov~
the
P9r~meter.
1C2(3
1ST FILE flip_name NOT LOCAL
MEANING: File
specified
by
thp
'INBOARD_SYMBOL_TABLE' commend of th~
Linker Parameter ~Ite Is not a local
fl • e.
ACTION:
MQke
the
fi Ie
'ocal
or remove th~
p~r~mete:r.
1(1204
1ST FILENAME fi Ie_name DUPLICA,TES EXISTINC FILE
MEANING!
ACTION:
specifi~ci
Fi lenamel
by
tht"
'INBOARD_SYMBOL_TABLE' co~rr~nd Of the
linker
Parameter
F'.e
duplfc2tes
Inother specif,d fIJenRm@.
Remove the specification o. this file.
Meke the 'lie locpl
or remove the
parameter.
10300
lPF fILE file_name
MEANING:
LOCAL
Fife specified hy t~e 'Ipf'
p~r,.etpr
of the lINK68X command is not a Icca1
~OT
f I Ie.
ACTION:
Make
the
file
focal
or
remove
COMPANY
thp
PRIVATE
7-3
CDC - SOFTWARE ENGINEERING SERVICES
ERS for SES MC68000 Absolute LINKER
R tV:
B
7.0 ERROR MESSAGES
7.1 Set
~tESSAGES
parameter.
10301
UNKNOWN lPf CO~MAND command SPECIFIED
MfANING: The linker hAS detected 8n invAlid
linker Parameter File commend.
ACTIONI
lC302
Correct the L ioker
INVALID MAP OPTION
MEANING:
~ap_oDtlon
p~rarneter
fi Ie.
SPECIFIFD
The linker has detecte~ an inY~lid map
option soeclfied by the tmo' oarameter
of
the
lINK6BK
command
or
fMAP_OPTIONS' specific~tlon of
the
linker Parameter File 'LINK_OPTIONS'
cOlTfiLsnd.
ACTIONt
10303
Correct the map option specification.
INVALID NAME_SEED xxxx SPECIFIED
MEANING: The linker has detected an invalid
name seed as specified by the 'ns'
p8r~meter of the
lINK68K command Dr
'NAME_SEED'
specification
of
the
L i nkef'
ACTION:
Pqr ameter
rj
Ie
• L INI<_DPTIONS'
command.
Correct the nem. serd specification.
10304
INVALID SEGMENT ATTRIBUTE segwert_ettrlhute SPECIFIED
MEANING' The linker has detected an invalid
s~gment
attribute sPEcified bv thp
'ATTRIBUTES' soecifjcetion
Of
th@
linker Psr~meter FiJ~ 'DEFINE_SEGMENT'
command.
ACTION: Correct the .ttrJtut~ specific~tion.
lC3C6
INVALID SECTION ATTRIBUTE SPECIFIED
MFANINGt The linker has detected confllctino
~ccess sttrihutps on th~ specification
of a defau4t section n9me.
ACTION: Correct access attributes.
COMPA.NY
PRIVATE
7-4
CDC - SOfTWARE ENGINEERING SERVICES
05/10/84
ERS for SES MC68000 Absolute tINKER
7.0 ERROR MESSAGES
7.2 LINKER DIAGNOSTICS
The linker prints formAtted messages on
The temp'ate of aft messages is as follows:
***
the
Linker
map.
LINKER ERROR NNNNN [*FATAL*l (frror mess~ge t~xt)
MODULE
• (module name If approprJ.te)
FILE
= (file name if appropriate>
NAME
= (entry point n.m~ If &Ppropriat~)
RECORD COUNT • .
reust
31
EXTERNAL ARRAY OVERFLOW - TOO MANY EXTERNALS
MEANING: Intern~1 T~ble overf,ow - linker must
bft recnrnolted.
(M9~imu~
is
2(0
entries.)
ACTION: Ca'i SES representptlve.
32
RECORD CONTAINS IMPROPER SOO
7-7
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SfS MC68000 Ahsolute LINKER
REV:
B
7.0 ERROR MESSAGES
7.2 LINKER DIAGNOSTICS
MEANING:
ACTION:
An object text rpcord referenced
undefined object text section.
Correct object text.
an
33
INPUT RECORD CONTAINS AN IMPROPER SECTION OFFSET
MEANING: An object text record referenced an
offset outside the rlnge specified In
the section definition.
ACTION' Correct object tewt.
34
NO PRIMARY ENTRY POINT ENCOUNTERED
MEANING: No primary entry point was specified.
ACTION: Declare a progr~m In one of your CYRIL
modules or specify the primary entry
point
name
on
the
LINK_OPTIONS
c.ommand.
PPIMARY ENTRY POINT NOT XDClED
MfANING: The name encountered by the link@r for
the primary entry point WRS not XDCled
in eny object module encountered in
the
ACTION:
36
J i nkage.
(I
0'
Declare ~ procedure on~
your modules
with the 'XDCll attribute.
Nn QBJfCT FILE INPUT
MEANING:
ACTION:
No object modulft input MIS encountered
by the linker.
Check the OBJ_FIlE_lIST p.remeter on
the LINK ~ommand If specified, or else
check the f i ' f.: nemes of 131 I memne'rs of
the
object
plements
of
list;
fitf
thf'
ot.:J~ct
chpck
~'I
fife
list;
check all files for Input.
37
UNSATISFIED EXTERNAL REFERENCE
MEANING: An XREFed oect9rstion ~8S not XOCLed
in any module encounterd
in
the
linkege, or on any of thp modules on
the specified libraries.
ACTIONt Ch~ck input file list to tssure thp.
you
specified
all
the
files
Intended to; cteck your prOQr8w for
missing, XOCl.
38
lFO CONTAINS
MEANINGs
ACTION:
eXECUTE ATTPIBUTE
Unknown
execute
ettrihute
specified in lFD.
Correct lFD and retry LINK commen~.
you
~
I~PROPER
~as
COMPANY PRIVATF
7-8
CDC - SOFTWARE ENGINEERING SERVICES
ERS for SES MC68000 Ahsolute LINKER
PEVI
a
OS/ln/S4
1.0 ERROP MESSAGES
7.2 LINKER DIAGNOSTICS
39
UNKNOWN OBJECT TEXT RECORD TYPE
MEANING: Object text structure is incorrect.
ACTION: Correct object text.
40
UNKNOWN EXTERNAL REFERENCE INSERTION TYPE
~EANING:
Object text structure is correct.
ACTION: Correct object text.
41
UNKNOWN SECTION DEFINITION TYPE
MEANING: Object text structure is correct.
ACTION: Correct object text.
42
RIF DOES NOT PERTAIN TO CODE OR BINDING SECTION
MEANING: Relocation
information
Is
being
incorrect'y gen,r.ted. Linker output
is unaffected.
ACTION: Correct object text.
43
I~PROPER
44
EXPECTED SOC RECORD
MEANING: Object text structure Is incorrect.
ACTION: Correct object text.
45
INVALID PROCEDURE OFFSET FOR INDIRECT CALL
MEANING: The procedure offset for
an
RELOCATION CONTAINER SPECIFICATION
MEANING: Relocation
information
is
being
incorrectl, gpnereted. linker outout
is unaffected.
ACTION: Correct obJpct text.
indirect
Ii t9 t e
"binding",
procedure
o+fsets
for
indirect cslls should be 0 mod 2.
None necessary at this time, but the
object text
aRn~r.tor
should
be
modified to ~'Iocete At. procedures on
1J word boundary.
ca. I
ACTION:
j
s
not
(} mod 2.
Tc f
~c j
46
INVALID BIT STRING INSERTION PECORD
MEANING: The Linker encountered , ~it string
f~sertio"
record with 9 bit offset
g rea t e r t Ii a n 7 0 r b J t i e n g.!= h
fJ r € ate r
than 63. No bit strlno insertion ~es
t~ken place.
ACTION: T~~ object text gen4r~tor has C8usei
the error and must be corrected.
47
BAD LIBRARY FORMAT
MEANING: A fila
in
the library File List
w~s
CCMPANY PRIVATF
7-9
CDC - SOFTWARE ENGINEERING SERVICES
0511C/BI~,
ERS forSfS MC68000 Absolute LINKER
7.0 ERROR MESSAGES
7.2 LINKER DIAGNOSTICS
not a recognizable MC6P(OO Libr,ry
created by the SES MC6BOOO Object Code
Utilities.
ACTION:
Review the litreries specified
'library File list'.
in
t~e
48
REQUIRED LIBRARY MISSING
MEANING: The linker encountered • librarips
record th~t specified a library that
was not present in the 'library File
list'.
ACTION: ACQUIRE the ljbr~ry and specify it in
the 'librery Fife list'.
4Q
ERROR IN PARAMETER VFRIFICATION
MEANING: T~e type declarstfons for the v~ri8bte
do not match on the XDCl snd the XREF.
ACTION: Check the type declarations for the
variahle, they must be word 'or Nord.
COf"1PANY
PRIVATE
1.1
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SES MC68000 Absolute LINKER
SES/CYRIl OBJECT TEXT FORMAT
{ Date request return value. }
TYPE
ostSrlate = record
CASE d~te_format: ost$dete_'orm8ts OF
·osctmont~_dqte·
month: ostSmonth_date, { month 00, YYYY }
=osc$mdy_date=
mdy: ost$mdy_d~te, { MM/DO/YY }
·osc!) so_(h~t~·
Iso: ost$iso_date, { YYYY-MM-DD }
=oscSorrllnat_date=
ordinal: ost$ordln.'_dat~, { YVYYDOD }
CASENO,
recend,
ostSdate_formats
oscSiso_d~te,
= (oscSdefau't_date, oscS.onth_det.,
oscSordina'_date),
OSC$mdv_~ste,
ostSmonth_date = string (18),
= string (8),
ostSlso_d.t~ • strlno flO),
ost$ordina'_date • string (7);
ost$mdJ_d~te
{ Time request return value. }
TYPE
.ost$time = r~cord
CASE time_format: cstStlme_formats OF
=osc$e,mpm_tlmta=
ampm: ost$9mpm_time, { HH:MM: AM or PM }
=osc$hms_tl!T'e t
hmsl ost$hms_tlme, { HHtMMISS }
=osc$mi I. isecond_tlme=
millisecond: ost$mitliseeond_time, {" HH:MM:SS.f"!(i:M}
CASENf),
r ecend,
ostStime_formsts • (oscSdefault_tlwe, osc$ernpm_time, oscShms_time,
osc$rri" I s~eond_t Ime),
COMPA.NY PRIVATE
.A2
CDC - SOFTWARE FNGINEERING SERVICES
C5/1C/84
ERS for SES MC680CC Absolute LINKER
REV:
3
SES/CYBtt OBJECT TEXT FORMAT
ostSampffi_time
=
=
string (8),
ost$hms_time
string (8),
os t Sm i , lis ~e 0 n d_ tim e -= s t r ina (12);
TYPE
pmtSprogram_name
= astln.me;
CONST
oscS.ax_name_size
=
osc$nut'_na~e
TYPE
=1
ostsname_size
= 31,
•.,•
t
•• osc$max_name_slzeJ
TYPE
ostSnqme • strina (oscSmax_"ame_sizel;
{*
etrdname}
Typ·f
* ),
amtSfile_name • string (
~rot$'ocll_'ile_n~me = ostSname;
{
CYBER 80
ppu
chwr8cterlstlc definition. }
CONST
IlcSmax_pPu_nu~ber
11cSmax_ppu_size
TYPE
IltSPpu_address
{
{
{
{
{
{
{
{
{
{
f
{
{
{"
{
The Qf'nergl
with the
= 20
- 1, {maximum number of PPUs in a configuration.}
{m~xjmum numbpr of words in 9 pPU.l
= Off'(16);
=0
•• "c$max_ppu_sizeJ
form of an object modu'*? is
1ol'owin~
P.
·fi Ie of
bin~ry
records
topoloay:
< object t ftxt descriptor
< obJp.ct text r~cord #
< oil jf'! ct text descriptor
# 1
1
11
>
2
< object text record #I 2 >
•••
< ohject text dpscriptor • n
>
>
>
For thp s,~e of simplicity the record descriptor wi II be rpferr~d to 9S records hereefter.
record pairs
COMPANY PRIV/l,lF
CDC - SOFTWARf ENGINEERING SERVICES
C5/]"/84
ERS for SES MC680CO Absolute LINKER
REV:
B
SES/CV8Il OBJECT TEXT FORMAT
{
{
{
For a CPU oroqram, the object text records must be arranged in
the fotlowlng order.
{
(
{
{
{
{
{
{
{
{
1). Identification record
2.) library, section definition, text, bit string insertion,
address formulation, external 'Inkege, .ntry definition,
relocation, formal persmeter specification, actual
parameter specific~tion ~nd bind ina templete records i~
arbitrary order with the one stipulation that a section
definition record must preceae eny other o~ject text
records that refer to the section.
3). Transfer symbol record.
{
{
{
For ~ PPU program or overlay, the ohject text
arranged in the following order:
rpecr~s
must be
{
(
(
1.) Identification record
2.) PPU ebsolute record
{
{
{ Constants that perteln to both the object
C ONST
II iC$tr,ax_adr _I tents
Ilc$m~x_ext_items
~nd
'oad module. }
= Offf'f(1·6).,
= Off"(16),
., Ic$max_' Ibreri E!S -Qffff(16),
'lcSmax_r.'_items = 0""(16);
TYPE
• record
case kind: IltSobject_record_kind of
= IlcSidentificatlon, Ilc$sectlon_definltion, Ilc$bit_string_Insertion,
ItcSentry_deflnitlon, I IcSbindina_temptate, .'~Str8nsfer_sym~ol :
unused: l'tSsection_lenot~, {must be zero}
IltSobjeet_t~xt_descriptor
=
1-Ic.S'lb·raries
=
1 •••• c$mlx_libr~ries,
• .IcStext, Ilc$reptlcetion •
number_of_bytes. 1 •• Ilc$max_section_lengtt,
= "elreloestion =
numb~r_of_re'_itemsl 1 ••
,tcSmax_rel_items,
= IlcS~ddress_formu'ation nu"ber_o'_~dr_items: 1 ••
lleSmlx_adr_ite"s,
- 'tc$external_linkage =
number_ot_ext_items: 1 •• 'IcSmax_ext_items,
numbpr_of_li~rerlest
&
"c$.ormat_p~rameters,
IlcS9ctual_par~meters,
COMPANY PRI\/ATf
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SfS MC68000 Absotute
----.-- .----..... .-..---......
......
.
lIN~ER
.----.---.-......
-.---.----...,
---~.---..-.--- .
...-.-- .........
~.---
..........--.- ...........
SES/CVBIl OBJECT TEXT FOPMAT
-- ---.----- ....
......
-~
t'cScybil_symbol_table_frS9ment, IlcSsymbot_t'bl.,
IlcS1ine_table_fragment, IlcSsymbol_table_fragment =
sequence_lenGthl IltSsection_'ength, {REP sequenrr_Iength OF CEll}
&
IlcSPDu_ebsolute =
numhAf_of_words: 11t$ppu_address,
= Ilc$altotted_sectio"_definition =
allotted_section: ost$re18tlve_pointer, { REl A sea (*) }
• octSmodule_directory, octSentry_pojnt_directory =
number_o'_dlrectory_entries: integer,
= II c $·b BOOO ... a bs ute =
num~.r_of_68COO_bytesl 1 ••
IJc$m.ximuffl_680CC_,ddress,
= 'Ic$'llne .. tf'ble, Ilc$o:bsole.te .. ' toe_tablp' ::
nu~ber_of_ti~e_itemst 1 ••
IlcSmax_ltne_sdr_tabJe_size,
cas!r!",
rec>!nc;
0'
TYPE
.,tSsectlo"_ordlna' = 0 •• Itc$m.x_s~ction_ordin.l,
"tSsection_offset a 0 •• Ilc$max_section_of.set,
11tSspctio"_length = 0 ••• tcSmax_section_'enpth.
IltSsection_length_in_bits :: C •• (ttc5max_section_'ength
"c$~lts_per_hyte),
.,tSsectlon_address_rengp
Ilc'ma __ sectioo_offset,
=-
*
(11c$m9x_sectjon_of f set + 1) ••
CONST
IIt$ro·,x_seetioo_ordlnel :: Otf1f(16),
1'c$ma~_section_offset = 7fffffff(16lf
Ilclmex_s.ctfo"_'enqtt = ,tc$max_section_o'fspt + 1,
'lcShits_per_byte = 8;
TyPE
Ilt$chJect_record_kind =
(11c$jdentific~tion,
f Ic$.
it:-r~ri
es,
t, "c $ r t:' p lie a t i () n ,
J IcSbit_strinq_insertion, IlcSentry_definltion, l'c$reJocaticn,
, • c $ add res $_ f or mu , a t I on, l' c $. ext ern al _ lin k a 9 e , I 1C $ f or m~1_ p ~ r ~ fTl f t ~ r s,
tl~$actual_ppr8meters, IlcSbindtno_tempJ9t@, 'IcSppu_absolute,
11 c$obsol ete_' i ne_tah I e .• 'I c$Cyt i '_sY!rho'_t~h le_'frscn:ent,
Ilc$a'iotted_sectton_deflnlttcn, 'tc$sywbol_tabte, Itcstransfer_sv~~o',
oct'titr~ry_headerJ octSmo1uIR_directory, oct$pntry_point_directory,
lIe $ s ~ c t ion _ d e fin i t ion :,
IIc$680C.O_ebsolute,
I I e. :$ t
f! X
Ilc$1 ine_t.eble,
Ilc'l
in~_tahle_fragm€ntJ
"c$sym~o'_t~ble_'rfgment);
TYPE
I ttSlinp_8drlress_tible_si7e
=C
•• 'Ic$m9x_'ine_Adr_tshlp_sizp;
CONST
h1c$ma'W_' ine_adr_table_sl?'e = Offffff(16)J
crMOANY
PRIVATE
AS
CDC - SOFTWARE ENGINEERING SERVICES
05/1(/84
REV: B
ERS for SES "C68000 Absolute LINKER
SfS/CYBIl OBJECT TEXT
TYPE
tltS68000_address
=0
FORMAT
••
IIC$meximum_680CO_~ddress;
CONST
l}c$mqximum_68000_~ddress
{ NOS/laC
?ddr~ss
=
Offffffft(16)t
constants. }
CONST
{ Ring names. }
oscSmin_rina • 1, { lowest ring number (most privledoed). }
osc$m~x_ring • 15, { Hiohest rlna number (least priv'edaed). 1
osc$invatld_ring = 0,
oscSos_rinQ_l = 1, { Reserverl for Operating Systew. }
oscstmtr_rinp • 2, { Task Monitor. }
oscStsrv_rinq : 3, { Task services. }
oscSsJ_rlnQ_l = 4, { Reserved for system job. }
oscSsJ_rinQ_2 = 5,
osc$sj_rinq_3 = 6,
osclappllcatlon_rln9_1 = 7, { Reserved for application subsystems.}
osc$&Pplicaticn_rinQ_Z = 8,
oscSepplic8tio"_rlng_3 & 9,
osc$epp,teation_rino_4 • 10,
oscSuser_flng = ]1, { Standard user task. }
osc$us!r_rino_l = 12, { Reserved for USPf ••• O.S. requests evail,b'@.}
osc$us~r_rlng_2 • 13,
oscSuser_rlnQ_3 = 14, { Reserved for user ••• O.S. requests net available. J
oscSuser_rlnQ_4 = 15;
{ Virtual pddress SPice dimensions. }
CONST
oSC$.~ximum_seQment
osc$m~ximum_offset •
= 0"'(16),
7f.""f(16),
osc$max_segment_'enQth = o5cS~a~imum_offset + II
{
Glob31-I~cel
k~y
tock definition. }
TYPE
ostSkey_'ock = packed record
global~ boolepn, { True if value is
glob~1
k~y.
}
COMPANY PRIVATE
A6
CDC - SOFTWARE ENGINEERING SERVICES
ERS for SES MC68000 Absolute tINKER
REV:
8
SES/CYBIl OBJECT TEXT FORMAT
local: bOO'EHH'''!, {True if value is local k~y. }
value: ostSkey_'ock_value, { Key or lock value. }
recend,
{ CYBER 180 forty eight bit PYA definition. }
ostSring = oscStnvalid_ring •• oscSmax_ring, { Ring number. }
ostSv"id_rinv = oscSmln_rinQ •• oscSmax_rlng, { Valid Rino Number. }
ostSsepment c C •• oscSmlximUffl_Segment. { Segment num~er. }
ostSsegmpnt_offset oscSmaximum_offset •• osc$maxj~um_offset,
ostSrelative_pointer
=-
1'fff~ff(16}
•• 7fffffff(16),
ostSPV3 = packed record
rino: ost$rlnQ,
seq: ostSsegment,
ofrs~t:
ostSs~gm~nt_of's~t,
r ecend;
{
Id~ntific'tion
record. }
TYPE
flt$identlficatlon = record
name: pmt$progr~m_n8m.,
obJ~ct_tpxt_version: string (4),
kind:
Ilt$module_kind,
tlm~_creet~d:
ost$time,
d~te_created:
ostSdat~,
~ttrlhutes:
IJt$module_~ttrjbutes'
greatest_section_ordina., l.tSsectlo"_ordin21,
gen~rator_ld:
IltSmorlule_o.nerator,
gen~retor_n9me_vers: strino (40),
camment9fyl string (40),
recend;
CONST
tl!c$cbject_te)(t_v~rsion
=
'Vl.4';
TYPE
'ItSmodule_kind = (flc!mi_virtu8'_stete, f'csv~ctor_virtuRI_state, ftr'iou,
Ilc$wotoroI9_68COO, Ilc$p_codp, Itc$motoro'8_~8GOO_ebsolute);
TYPE
47
CDC - SOFTWARE fNGINfERING SERVICES
C5/1(;/84
ERS for SES MC680CO Absolute LINKER
SES/CYBIL OBJECT TEXT FORMAT
Ilt$module_Qenerator:: (110$8'901, Ilc$apl, IJc$hEtsic, Itc$cobol,
I 'cSessemb'er, .IcSfortran, IlcSobject_,jbrary_oenerstor, "eSpascA',
llcScybit, t'cSp'_i, Ilc$unknow"_Qenerator, 11cSthe_c_'enpuape, "ciedt,
• IcSreal_memory_builder);
TYPE
l1tSmodule_9ttributes
{
~
set of (ttc$nonbind8ble,
"c'~Qne~eeut8hlp}J
library record. }
TYPE
.,tSlibreries ::
8rr~y
[ 1 ••
*]
o~
amtSlocsl_fiJe_na«e;
{ Section defInition record. }
TYPE
fltSsectioo_definition:: record
kind: l,tssectJon_klnd,
eccess_sttributes: 11t'section_9ccess_sttrihutes,
section_ordin.l: IttSsectio"_ordins1,
lengths t tt$section_length.,
Illoc9tion_allonmentt Ilt$section_sddress_rlnoe,
9Itocatlon_offset: 11tSsection_8ddress_r~na.,
name: p~t$prOQram_name,
recend;
TYPE
"t$s8ction_kind
= (Itc$cods_section,
llc$bindinQ_section,
Ilc$commo"_bloekf
11cSeyt~nsible_working_stor~ge,
ttc$pxtensible_common_btock,
llc$work.ng_stor~ge_section,
'lc$lts_reserv~d);
TYPF
'It$seetlon_8ceeSs_lttrihutes • set of IltSsAction_8ceess_attribut&,
l't$seetlon_ateess_attrihut~
=
("c;$read,'lct,writef
"c$€xecute,
Ilc$binding);
{ Text record. }
TyPE
'ItStext
=
record
section_ordinal: I tt$se.ct ion_ordinal,
offset: .ttSsectton_o'fset,
by tel array [ 1 ••
of 0 •• 255,
recend;
*]
(OMPANY PRIVATE
CDC - SOFTWARE ENGINEERING SERVICES
05/.1'0/84
ERS for SES MC68000 Absolute LINKER
REV:
8
SES/CYBIl OBJECT TEXT FORMAT
{ Repllcetion record. }
TYPE
11tSreolicatlon = record
sectIon_ordinal: .Itlseetlon_ordinal,
offset: JltSsectlon_of~set,
increment: 1 •• Ilc$ma._section_lengt~,
count: 1 •• licSroax_sectlon_'ength,
bytet efray [ 1 ••• ] o. 0 •• 255,
recend;
{ Bit insertion record. }
TYPE
IltSbit_strino_insertion • record
section_ordinal: IltSsectlon_ordinat,
Offsfttl 'It$sectlon_offset,
bit_offset: 0 •• 7,
bit_'enoth: .ItSbit_strinQ_'ength,
hit_string: packed array ['lt$bit_strlng_1RnQt~J of C •• 1,
recend,
CONST
hC$m~)(_blt_:strlng_'~nQtr
= 63;
{ Address formulation record. }
TYPE
.ltS9ddress_formuiation = record
value_section. tlt$section_ordlnal,
dest_sectiont 'ItSsectlon_ordlnal,
item: arr9Y [ 1 •• * J of "tSsddrpss_'ormulatio"_itpm,
reeend"
.tt$address_formuJetlo"_ltem: record
kind' .,t$internat_3ddress_kind,
vatue_offspt: '1t$sectlon_addresS_r6ng~, { only 11c$address
dest_offsetl t.tSsectton_offset,
recend;
C8~
be
neq~tivp.
TYPE
IltSaddress_kind = (llc$address, Ilcllnterna,_proc, flcSshort_3ddress.
"cSexternel_pro e , I Ic$address_lddition, tlc$sddress_subtrection);
COMPANY PR.IVATE
}
AQ
CDC - SOFTWAPE ENGINEERING SfRVICES
ERS for SES MC68000 Absolute LINKER
FE'/: 8
-------------------------------------------------------------------SES/CY8Il OBJECT TEXT FORHAT
TYPE
11t$internel_address_kind • tlc$address •• tlclexternll_proc;
{ External reference record. }
TYPE
I
JtSextern~I_'inkage
namp:
= record
DmtSprogra~_ngme,
t~nouaGe:
11tSmodule_G@nerator,
decler!tion_matching_required: boolean,
decl~r~tion_matching_v~luet
integer,
item: grray [ 1 •• * ] of Ilt$externl._tinkage_lte~,
ff.cend,
= record
section_ordinal: IltSsectioo_ordinal,
offset: IttSseetio"_offset,
kind: 11tSeddress_kind,
offset_oDerend: .ttSsectio"_address_fanae,
r ec end;
•
It$extern~l_tinkaQ._item
{ Entry point definition record. }
TYP E
t lt$entrv_d~flnltlon = record
sec t i 00_ 0 r din 101' t i t t $ sect i 0"_ 0 r din ~ I .,
offset: 1.tSsection_o'fset,
attributes: .'tSentr,_point_attrlbutes,
name: pmt$prooram_name,
language: IttSmodule_Qenerator,
dec'aratlon_~atching_requiredJ boolean,
decl~r9tion_m9tch'nG_v8'uel
integer,
recend;
TyPE
I ItSentrV_Dolnt_Bttributes
IlcSgeted_entry_polnt);
=
set of
(tlc$ret9i~_entry_point,
{ Retocatlcn record. }
TYPE
.,t$rp.locttion = array r 1 ••
1 't$re'ocatlon_lte~
sectlon_ordln,1
I
* ]
of
Ilt$re'cc8tion_it~m,
= record
Jlt$section_ordlnal,
C fMPA. NY PI< I V.t. TE
Ale
CDC - SOFTWARE ENGINEERING SERVICES
(5/10/84
ERS for SES MC680CC Absolute LINKER
(:(£\1:
B
SESICYBIL OBJECT TEXT FOPMAT
lltSsectlo"_of'set,
reloc.tinQ_section' l,tSsection_ordinBI,
container: 'ttSreloc9tion_container,
address. t.tSaddress_type,
recend;
offs~tt
TYPE
I ttSreiocatio"_container = (Ileltwo_bytes, ffc$three_bytes, Ifc$fcur_bytes,
IJc$~lght_bytes, Jlc$180_d_'ield,
"c$lEO_q_'i~ld,
JlcS180_long_d_flpld);
TYPE
1 't$~ddress_tYDe = (1IcSbyte_positive, Itc$two_byte_positive,
IlcSfour_bvte_positive, t IC$eioht_byte_positive, "c$byt~_sicned,
ttc$t~o_byte_signed, IleSfour_byte_signed, IlcSeight_byte_signed)J
{ Procedure formal parameter description record. }
TYPE
I'tSformal_p&rameters = record
procedure_na~el
pmt$program_name,
specification: SEQ «
recend;
* ),
{ Procedure cal. actual parameters record. }
TYPE
I It$setu!I_P9re~pters = record
ca'le~_name: pmtSprogram_name,
language' .ItSmodule_generafor,
lin~_number_o'_ca'll
specification' SEQ (
r ec end;
"t$source_1In@_nu~ber,
* ).
TYPE
I It$sourc~_line_nu~ber • 0 •• 999999;
{ FORTRAN ,rgument dpscriptionl used to
{ formal per.meter. }
descrl~'
•
sin~'e
actual or }
TYPE
•• tSfortran_arQument_desc = record
arqument_typp: IltSfortran_9r9ument_type,
strina_Iength: IltSfortre"_strino_lenoth, { only uspd 'or type CHAP}
argument_klndl Ilt$fortran_argument~kind,
erreY_Slz8' 'ItSfortran_arrsy_size, { only used for ~ind ARRAY}
unkncw"_eroument_ordinll: 1 •• Ilc$m~~_fortr8n_~rguments. { only use~ }
COMPAt-!y
PPI\fAl'~
tll
CDC - SOFTWARE ENGINEERING SERVICES
05/1(,/B4
ERS for SES MC680CO Absolute LINKER
SES/CYBIl OBJECT TEXT FORMAT
-------------------------------------------------------------------{ for actual .rgument kind of UNKNOWN. Points hick to formAl perswetef 1
{ passed on by this call. }
mode: "tSergument_ussoe,
recend;
CaNST
It :C$rrax_fortr ~n._~rQuments= SCO;
TYPE
,.tSfortran_argument_type = (ItcSfortran_logicat, "cSfortr8n_jnteg~r,
I 'c $ for t r Q n _ r f! ~ I, 'I C $f or t r 9. n _ do lJ b Ie _ r e ~ I, t, C $ for t r ~, fl_ co mp I ~ x ,
I IcS f ortr8"_char, 11cSfortrln_hoole~n, t'c$fortr~n_nu11_type,
.IcSfortran_stgternent_tahel),
TYPE
I ItSfortr~n_strina_lenpth • record
attributes: t'tSfortren_string_attributes,
nu~ber_of_characters:
IltSfortran_string_size,
r,cend;
TYPE
IltSfortra"_strinQ_size
=0
•• • Ic$max_fortran_string_size;
TYPE
'ttSfortran_strinp_attributes
= set of IttSfortran_strinQ_!ttribute,
= (.tcSfortran_8ssumed_'en_string,
.'tSfortran_strln9_sttrlhute
Ilc$fs2_reserved_7, IlcSfs8_reserved_6, IlcS'S8_reserved_S.
11cS f sl_reserved_4, Ilc$fs~_resprved_3, .fcS'sl_reserVAd_2,
Ilc$'s!_reserved_l);
C ClNS T
'IcSmlx_#ortre"_strinQ_size • Of"f(16);
TYPE
I ItSfortran_arQument_klnd = ("c$fortran_VBriebl~,
I IC$fortr a n_external, "c$fortr~n_arr8y_elew~nt,
J'c!fortrao_unknow"_sro_kind);
Jlc$fortr~n_~rr~y,
TYPE
'ItSfortren_err9y_size • r~cord
attribut~s: IltSfortra"_8rrey_attributes,
rank: tlt$fortran_srray_rank,
number_o'_elementsl tlt$sectio"_'ength,
r ecend;
TYPE
IttSfortren_*rrey_'ttrihutes =set
0'
Ilt$fortren_qrr~Y_Rttri~ute,
COr-1P/\~!Y
PRIVA.TE
06.12
CDC - SOFTWARE ENGINEERING SERVICES
05/10/84
ERS for SES MC68000 Absolute LINKER
SES/CYRIL OBJECT TEXT FORMAT
IltSfortreo_,rrey_'ttribute :
(1IcSfortr9"_eSsumed_,en_8rrey,
11cSf83_reserved_6, "c$fss_reserved_5,
Ilc!f88_reserved_Z,
11cS'ortrln_~daptable_array,
11cS'a~_reserved_4,
tlcS'8~_reSerypd_3,
llc$fas_reserved_l);
TYPE
J
't$fortr.n_~rrQy_rank
=0
••
l'c$.~x_fortr?n_lrr8y_rank;
CONST
hC$m~x_fortren_prr3y_renk
:: 7;
TYPE
'itSargument_usage: CllcSargument_writter,
Ilc$araument_not_written)J
{ Binding template record}
TYPE
IttSbindlnQ_temptate = record
hindinQ_offsett JltSsectlon_offset,
case kind: 'It$blndlnp_te~DI9te_ktnd of
= Itc$current_module =
section_ordinal: ,ttSsection_ordlnsl,
of.set: Itttsectlon_Address_range,
internl'_~ddress:
tlttinternal_addres5_kind,
= IlcSelterna'_reference =
name: pmt$progr3m_name,
adrlr.ss: IltSaddress_kind,
c aseno,
recend;
TYPE
l1tSbindinQ_temp'ata_kind
=
(1IcScurrent_worlule,
llc!extern~l_rp~~r.nce);
{ Symhol table record 1
TYPE
'It$symbol_teble = r~cord
lanquage l t't$~odule_generator,
te'J(tl Sf'O (
* ),
recend;
{ Debug table record used for emitting lioe t~bles an6 sym~ol tlbles }
{ in fragments r9th~r then 311 together. Not used hy II romoilprs pn~ }
{ simply pessed over by 8ny object text processors oper9ti~a on NOS/VE. }
CO~PANY
PRIVAT~
A13
CDC - SOFTWARE ENGINEERING SERVICES
ERS for SfS MC68000 Absolute LINKER
05/10/84
FFV: B
SES/CVRIl OBJECT TeXT FDRMAT
{ Intended for use by compilers producing this lo,der text on machines}
{ other than 180. for example CVRll elM. }
TYPE
= record
offset: t,tSsectio"_offset,
text: SEQ!
recenrl;
IttSdebug_tabte_'r~gment
* ),
{ Transfer record. }
TYPE
'It$tr:!nsfpr_symbol
c record
nam.: p.t$program_"sme,
r ecendJ
{ PPU sbsolute record. }
TYPE
tlt$ppu_absolute = record
exeeutes_on_lnv_pput boolewn,
Opu_"u.ber: 0 •• IlcSma __ ppu_"umber,
load_address: "tSppy_address,
entry_addresst "tlppu_address,
text: ~rray [ 0 •• * ] 0' 0 •• 0,frf(16),
ree end;
TVPE
IltS68000_sbsolute • record
loed_sddress: • 't$680CO_9d~r~ss,
transfer_addressl "tS68000_address,
text: SEQ ( * ), { REP n DF byte}
recendj
CCMP.ANY PRIVATE
1
CDC - SOFTWARE fNGINEERING SERVICES
05/1C/84
ERS for SES MC680CO Absolute lINKER
RE V:
B
Table of Contents
1.0 PREFACe • • • • • • • • • • • • • • • • •
1.1 SCOPE • • • • • • • • • • • • • •
•
-.
1.2 APPl Ie ABLE OOCU~ENTS • • • • • • • • • • •
1.3 TERMINOLOGY • • • • • • • • • • • • • • •
1.4 DEFICIENCIES ANC LIMITATIONS • • • • • • •
..
...
• •
••
• • • • • • • • •
1-1
1-1
•
• • • •
• • • • • • • • •
• • • • • • • • •
1-2
1-2
2.0 ACCESSING THE LINKER • • • • • • • • • • • • • • • • • • • • • • •
2-1
· .
LINKER PARAMfTfR FILE (lPF) ••
LINK_OPTIONS • • • • • • • • • •
OBJECT_FIlE/OBJECT_lIBRARY • • •
DEFINE_SEGMENT • • • • • • • • •
OBJECT_MODULE • • • • • • • • •
INBOARD_SYMBOL_TABLE • • • • • •
3.6 INCLUDE_lINKED_SYMBOLS • • • • •
3.7 END • • • • • • • • • • • • • •
3.0
3.1
3.2
3.3
3.4
3.5
4.0
4.1
4.2
4.3
4.4
4.5
LINKER FILE INTERfACE
OBJECT FILES • • • • ~
LIBRARY FILES • • • •
HEADER FILE • • • • •
SEGMENT FILES • • • •
SYMBOL TABLE FILES ••
• • • • • • • • • • • • • • • •
..
-. • • • • • • • •
•
• • • •
• • • • • • • • • • • • • • • •
• •• • •
• • • • • • • • ••
.
• • • • • • • • • • •
• .. •
• • • • • • • • • • • • • • • • •
• • • • • • • • • • • • • • • • ..
• • • • • • • • • • • • • • .. .. •
• • • • • • •
• • • • • • •
• • • • • • •
• • • • • • •
• • • • • • •
• • • • • • •
5.0 LINKER MAP • • • • • • • • ••
• • •
• •
• • •
• • •
• • •
· . ....
...
• • •• • • • • • •
• • • • • • • • • • ..
• • • • • • • • • • • • • • •
• • • • • •
• • • • • • ••
• • • • • • • • • • • • • • •
• • • • • • • • • • • • • • •
• • • •
5.1
5.2
5.3
5.4
SECTION DEFINITIONS • • • • • • •
ENTRY POINT NjMES • • • • • • • •
EXTERNAL REFERENCES • • • • • • •
OUTPUT SEGMENTS AND COMMO~ BLOCKS
6.0
6.1
6.2
6.3
LINKER PROCEOURAl
LINK68K - EXECUTE
EXAMPLE OF LINKER
EXAMPLE OF LINKER
• • •
• • •
• • •
• • -.
• • •
• • • •
• • • •
• • • •
• • • •
INTERFACES • • • • • • • • •
THE HC6BOOO ABSOLUTE LINKER
PARAMETER FILE • • • • • • •
MAP • • • • • • • • • • • •
•
..
• • •
..
• • •
• • • • • • .. • •
• • • • • • • • •
• • .. • • • • • •
• • • .. .. • -. • •
.
• • • • • • •
• ..
• • • • • • •
•
• • • • • • . • • •
• • • • • • • • • •
. -...
7.0 ERROR Mf5~AGES • • • • • ••
..
• • • • • • • • • • • • •
..
7.1 seL MESSAGES • • • • • • • • • • • • • •
•
•
•
•
-.
7.2 LINKER OI~GNOSTICS • • • • • • • • • • • • • • • • • • • • • •
·
Appendix OhJect Text.Deflnitions
SES/CYBIl OBJECT TEXT FORMAT. •
..
·
•
•
..
•
• • •• • • • • • • • • • • • • • •
COMPANY PPIVATE
1-2
3-1
3-1
3-3
3·- .:.~
~-:j;:
..,..'
"
~,'"
3-5
3-6
4-1
4--2
4-3
4- it
4-5
4--f
5-1
5-1
3-1
:;-1
:-2
6-1
6-1
6-4
6-5
7 -_-"j.L
7-1
7-4
A-I
Al
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.3 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37 Create Date : 2011:08:12 14:10:25-08:00 Modify Date : 2011:08:12 19:39:34-07:00 Metadata Date : 2011:08:12 19:39:34-07:00 Producer : Adobe Acrobat 9.45 Paper Capture Plug-in Format : application/pdf Document ID : uuid:cfc0ef0a-656d-4ecc-9f96-508c0742db33 Instance ID : uuid:cebbb365-4365-4fd7-a1fd-c48442a601fa Page Layout : SinglePage Page Mode : UseNone Page Count : 48EXIF Metadata provided by EXIF.tools