- Preface
-
- About this Manual
- Typographical Conventions
- What This Manual Covers
- 1. Introduction
-
- Components of the Toolset
- 2. Building An Executable Program
-
- How to Build a Program for Use with the MULTI Debugger
- The Compiler Driver
- How to Build a C Executable Program
- How to Build a C++ Executable Program
- How to Build Programs with C and C++ Modules
- 3. The Toolset
-
- How to Compile and Link an Executable Program
- Green Hills MCore Cross Compilers
- The MCore Macro Assembler, asmcore
- Object Module Librarian, ax
- The MCore Linker, elxr
- Header Files
- Support Routines and Libraries
- Debugging and Running the Program
- 4. The MCore Processor
-
- MCore Characteristics
- Compiler Output Format
- Register Usage
- Structure Packing
- Calling Conventions
- Interrupt Processing in C and C++
- 5. Embedded Features
-
- Program Sections
- Putting Data into ROM
- Reducing Program Size
- Using Linker Switches
- Producing S-Record Output
- Multiple-Section Programs
- Renaming Text Sections
- Japanese Automotive C
- 6. Debug Formatting
-
- Basic Debug Formatting Information
- Benefits of .dbg Files
- Backwards Compatibility
- How to Use DWARF
- Controlling Generation of the .sym File
- 7. ELF Files
-
- Relocatable and Executable File Organization
- 32-bit ELF Data Types
- ELF Header
- ELF Identification
- Sections
- Symbol Tables
- String Tables
- Program Headers
- 8. Compiler Driver Options
-
- MCore-Specific Options
- Driver Options Specific to the Assembler
- Library Options
- Driver Options Specific to the ELXR Linker
- General Options
- Data Allocation Options
- Debugging Options
- Optimization Options
- Run-time Error Checking Options
- Ada Compiler Options
- C Preprocessor Options
- C and C++ Preprocessor Options
- C Compiler Options
- C++ Compiler Options
- FORTRAN Language Compiler Options
- 9. Macro Assembler
-
- Macro Assembler Characteristics
- Command Line Options
- Using the Driver
- Macro Assembler Syntax
- Expressions
- Labels
- 10. Macro Assembler Directives
-
- Listing of Macro Assembler Directives
- Characteristics of Specific Directives
- 11. MCore Macro Assembler Reference
-
- Register Set
- Addressing Modes
- Macro Expansion
- 12. The Librarian
-
- Description
- Command Line Options
- Examples
- 13. The ELXR Linker
-
- Command Line Options
- Program Entry Point
- Section and Memory Maps
- Expressions
- Section Attributes
- Green Hills Specific Linker Features
- Porting Guide from other linkers
- 14. Utility Programs
-
- The gcompare Utility Program
- The gdump Utility Program
- The gfile Utility Program
- The gfunsize Utility Program
- The ghexfile Utility Program
- The ghide Utility Program
- The gmemfile Utility Program
- The gnm Utility Program
- The granlib Utility Program
- The grun Utility Program
- The gsize Utility Program
- The gsrec Utility Program
- The gstack Utility Program
- The gstrip Utility Program
- The gsymdump Utility Program
- The gtune Utility Program
- The gversion Utility Program
- 15. Runtime Environment and Library Organization
-
- Introduction
- Multiple Language Runtime Support
- MCore Library Structure
- Linker Directives Files
- How to Create a Customized Linker Directives File
- Special Sections in Linker Directives Files
- Source Files Available for Customization
- Incorporating Your Changes into the Libraries
- 16. MCore Simulator
-
- The MCore Simulator Command Line Options
- The Simulator as a MULTI Debugger Target
- ROM Mode
- Unsupported Features
- A. Enhanced asm Facility
-
- Introduction
- Definition of Terms
- asm Macros
- MCore asm procedures
- Writing asm Macros
- B. Viewpathing
-
- Theory of Operation
- Limitations
- Environment Variables
- C. C Runtime Libraries
-
- Built-in Functions
- Reentrancy
- libansi.a data structures and functions
- libind.a functions
- Less Buffered I/O