Skip to content
This repository was archived by the owner on Mar 31, 2026. It is now read-only.

Glossary

Paul Bowen-Huggett edited this page Apr 27, 2020 · 11 revisions

Program Repository-Specific Terminology

The terminology in this section has specific meaning when used in the context of the program repository.

Compilation

The results of the compiler translating an individual Translation unit. A structure containing: the compilation Triple; path of the original Ticket file (where available; used during garbage collection); and zero-or-more Compilation-members.

Compilation member

A definition of an individual named function or global data object. A structure containing: the name of the entity; an associated Fragment; a Linkage type. Associates a name with the Fragment entry-point of the attached Fragment.

External fixup

A name which references the Fragment entry-point of a named program entity and an ABI-specific type-code describing of the action to be performed when relocating the owning Section.

Fragment

A collection of Sections. A fragment represents the code and/or data of an individual program element such as a function of data object. Each Section has a type code which determines the meaning of the associated data.

Fragment entry point

The first byte of the Section with the lowest-numbered type code in a Fragment.

Internal fixup

A reference to a specific offset of a Section within the owning Fragment and an ABI-specific type-code describing of the action to be performed when relocating the owning section.

Linkage

An enumeration which describes how a named entity should interact with other named entities in a collection of Compilations.

Section

A structure containing a BLOB and collections of zero-or-more internal- and/or external-fixups.

Ticket

A unique value which serves as the key to locate a specific Compilation.

Ticket file

A file containing a Ticket. Created by the compiler after it has completed translating an individual Translation unit.

Other Definitions

The terminology in this section is not specific to the Program Repository, but is included here for reference.

BLOB

A Binary Large OBject is a collection of binary data stored as a single entity in a database management system. (wikipedia)

Translation unit

The ultimate input to a C or C++ compiler from which an object file is generated. (wikipedia)

Triple

A description of the platform on which code runs. It contains three fields or more fields indicating the name of the CPU family/model, the vendor, and the operating system name. (wiki.osdev.org)

Relocation

The process of assigning load addresses for position-dependent code and data of a program and adjusting the code and data to reflect the assigned addresses. (wikipedia)

Clone this wiki locally