Restricted external relocatable expressions
An expression has restricted external relocatable (E_REXT) type if it contains two relocatable terms.
An expression has restricted external relocatable (E_REXT) type if it contains two relocatable terms that are defined in different control sections (terms not meeting the requirements for paired relocatable terms, as defined in Expression type of combined expressions) and have opposite signs.
In a restricted external relocatable expression, a mixture of thread-local symbols and non-thread-local symbols is not allowed. That is, if one symbol has a thread-local storage-mapping class (TL or UL), the other symbol must have a thread-local storage-mapping class as well.
The following are examples of combinations of relocatable terms that produce an expression with restricted external relocatable type:
- <E_EXT> - <E_EXT>
- <E_REL> - <E_REL>
- <E_TREL> - <E_TREL>
- <E_EXT> - <E_REL>
- <E_REL> - <E_EXT>
- <E_EXT> - <E_TREL>
- <E_TREL> - <E_REL>
The value assigned to an expression of this type is based on the results of the assembler arithmetic evaluation of the values of its terms. When participating in an arithmetic operation, the value of a term is its relocatable address.