RISC OS Build EnvironmentROBE

Glossary62Glossary

Introduction and Overview

This glossary collects terms and acronyms that are used across multiple chapters of this guide without being defined again at every point of use. Each chapter still expands or glosses a term briefly on its own first use, but this chapter is the single place to look up the full definition, and other chapters cross-reference it rather than repeating the definition in full.

Entries are listed alphabetically. Most entries describe standard RISC OS file formats, calling conventions, or memory areas; a smaller group describes terms specific to this build environment (such as robuild or the oz object directories), which will not be found in general RISC OS reference material.

Terms

TermDefinition
AIFRISC OS Application Image Format. The standard executable image format produced by riscos-link by default (-AIF), in absolute, relocatable, or self-moving variants. See Compilers, linkers, and 64-bit binary tools.
ALFAcorn Library Format. The traditional RISC OS object-library archive format that bundles multiple AOF object files into a single file for the linker to draw symbols from, built with riscos-makealf. See Archive and packaging tools.
AOFARM Object Format. The object-file format produced by the assembler and compiler before linking, and also the format of a partially-linked image produced by riscos-link -AOF (used, for example, for ROM-bound modules).
APCSARM Procedure Call Standard. The register-usage and stack-frame conventions that ARM compilers and assemblers follow so that routines written in different languages, or by different tools, can call each other reliably. Specific variants and behaviours are selected with qualifiers such as /32bit, /fpe3, /swstackcheck, and /fpregargs (see the FPREGARGS entry below), for example as passed to riscos-cc -apcs 3/32 or used as ObjAsm IMPORT/EXPORT attributes.
binfmt_miscA Linux kernel facility that lets the kernel recognise an executable file by a magic-number or extension match and transparently invoke a registered interpreter to run it, so files of that type can be executed directly from the shell as if they were native binaries. In this build environment it is used to run RISC OS binaries directly under Pyromaniac from the host shell, but it is not configured automatically when the container starts: it must be enabled deliberately by running the container with the install-binfmt command and the --privileged Docker flag.
desktopThe graphical user interface provided by RISC OS: the Wimp window system, icon bar, Filer, menus, and desktop applications. This manual sometimes also refers to the host desktop environment separately; when an unqualified chapter uses terms such as desktop application, desktop tool, or desktop Filer, it means the RISC OS desktop unless stated otherwise.
filetypeThe 12-bit type metadata associated with a RISC OS file, identifying what kind of data it contains and therefore which tools or behaviours are normally associated with it. On non-RISC OS hosts this environment preserves that metadata through trailing comma-suffixed hexadecimal host filenames such as program,ff8 or template,fec. See Filetype and filesystem tools and Appendix A: Naming conventions and project files.
FilerThe part of the RISC OS desktop that presents filing systems, directories, and desktop file operations to the user. In this manual it is most often mentioned when describing desktop-facing application behaviour, file operations, or tools which interact with Filer-style resource formats or workflows.
FPREGARGSAn APCS qualifier, and the matching ObjAsm IMPORT/EXPORT attribute, marking a routine that passes its floating-point arguments in the floating-point registers (f0-f3) rather than packing them into the general-purpose integer registers.
leafnameThe final component of a RISC OS pathname: the object's own name, without any parent directories or filing-system prefix. A host-side file such as aif32/Tool,ff8 still has the RISC OS leafname Tool when passed to runtime commands inside the emulated environment. See Testing and running
Obey fileA plain-text script file containing RISC OS commands to be executed in sequence. Traditional Obey files normally carry filetype &FEB; task-window variants use separate types such as TaskObey. The build environment refers to Obey files when documenting command scripting, archive contents, and some desktop or runtime workflows.
oz / oz32 / oz64Object-file directories holding module-safe object code. The same source compiled into oz, oz32, or oz64 (rather than o, o32, or o64) is compiled with the -zM/-zm option, producing position-independent, ROM-safe code suitable for linking into a relocatable module. Module-type makefiles (CModule, AsmModule) select these directories automatically. See Building, linking, and outputs.
pathnameA full file or directory specification, including any filing-system prefix and parent directories as well as the leafname itself. On RISC OS this may take forms such as ADFS::HardDisc4.$.Sources.Module or Resources:$.Templates.Main; on the host side the same objects are represented with Unix path separators and, where needed, comma filetype suffixes. See Appendix A: Naming conventions and project files.
RMARelocatable Module Area. The dynamically-managed memory area RISC OS uses to hold relocatable modules loaded at runtime (for example by OS_Module, or pyro --load-module), as distinct from a module built into ROM, which runs directly from ROM without occupying RMA space (loaded with pyro --load-rom-module). See the RISC OS PRM's Memory Management chapter, which describes the RMA as "the standard source of workspace for any of the non-user mode routines contained in a module".
ResourceFSA RISC OS filing-system module that provides the Resources: filing-system prefix, letting a module bundle resource files (such as sprites used with *IconSprites) inside its own binary image rather than shipping them as separate files. See Module and interface generation tools.
robuildThe host-side wrapper script that starts this build environment's Docker container with the correct source-tree and configuration mappings. Ordinary wrapper commands such as riscos-cc call into robuild automatically; it can also be invoked directly (for example, robuild shell) when wrapper commands are not installed on the host. See Installation.
Stub object (StubsG / StubsGS)Small linker objects (C:o.stubsG, C:o.stubsGS) supplying the entry-point glue between a built image and the shared C library. Both are suitable for applications and for modules. StubsG supports the full C99 library, including printf and scanf; StubsGS omits the heavier C99 implementation, providing a smaller printf and scanf without C99-specific format support. The CLIBTYPE makefile variable selects the matching stub variant automatically. See Compilers, linkers, and 64-bit binary tools.