TDF Specification, Issue 4.0

January 1998

next section previous section current document TenDRA home page document index


6.1 - LINKINFO_PROPS
6.1.1 - make_linkinfos
6.2 - LINKINFO
6.2.1 - static_name_def
6.2.2 - make_comment
6.2.3 - make_weak_defn
6.2.4 - make_weak_symbol

6. Supplementary UNIT


6.1. LINKINFO_PROPS

Number of encoding bits: 0
Is coding extendable: no
Unit identification: linkinfo

This is an additional UNIT which gives extra information about linking.

6.1.1. make_linkinfos

Encoding number: 0

	no_labels:	TDFINT
	tds:		SLIST(LINKINFO)
		   -> LINKINFO_PROPS
Makes the UNIT.


6.2. LINKINFO

Number of encoding bits: 2
Is coding extendable: yes

6.2.1. static_name_def

Encoding number: 1

	assexp:		EXP POINTER x
	id:		TDFSTRING(k, n)
		   -> LINKINFO
assexp will be an obtain_tag construction which refers to a TAG which is defined with make_id_tagdef, make_var_tagdef or common_tagdef. This TAG will not be linked to an EXTERNAL.

The name id shall be used (but not exported, i.e. static) to identify the definition for subsequent linking.

This construction is likely to be needed for profiling, so that useful names appear for statically defined objects. It may also be needed when C++ is translated into C, in order to identify global initialisers.

6.2.2. make_comment

Encoding number: 2

	n:		TDFSTRING(k, n)
		   -> LINKINFO
n shall be incorporated into the object file as a comment, if this facility exists. Otherwise the construct is ignored.

6.2.3. make_weak_defn

Encoding number: 3

	namer:		EXP POINTER x
	val:		EXP POINTER y
		   -> LINKINFO
namer and val will be obtain_tag constructions which refer to TAGs which are defined with make_id_tagdef, make_var_tagdef or common_tagdef. They shall be made synonymous.

6.2.4. make_weak_symbol

Encoding number: 4

	id:		TDFSTRING(k, n)
	val:		EXP POINTER x
		   -> LINKINFO
val will be an obtain_tag construction which refers to a TAG which is defined with make_id_tagdef, make_var_tagdef or common_tagdef.

This TAG shall be made weak (in the same sense as in the SVID ABI Symbol Table), and id shall be synonymous with it.


Part of the TenDRA Web.
Crown Copyright © 1998.