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 PDF.
Page Count: 48

DownloadARH4895_SES_MC68000_Absolute_Linker_ERS_May84 ARH4895 SES MC68000 Absolute Linker ERS May84
Open PDF In BrowserView 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                      : 48
EXIF Metadata provided by EXIF.tools

Navigation menu