NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
C5500 Optimizing C/C++ Compiler Errata
Options Errata[edit]
- --ppm
- The Compiler User's Guide is missing information on the
-ppm
switch, used to generate a list of predefined and user defined macros. The details are: - -ppm[=filename]
- Generate a list of predefined and user defined macros for the source file into the file <filename>.pp and then exit. Optionally, name the output file. The output will include only those files directly included by the source file. Also see the -ppa option to continue compilation after generating the macro list (similar to gcc).
- This option became available starting with version 6.1.0.
- --no_const_clink
- The Compiler User's Guide is missing information about the
--no_const_clink
switch. This switch prevents the compiler from generating .clink directives (conditional linking) for const global arrays. By default, these arrays are placed in a .const subsection and conditionally linked.
Section 6.6.2 Saving Context on Interrupt Entry[edit]
The statement:
"All registers that the interrupt routine uses, including the status registers, must be preserved."
should read
"All registers that the interrupt routine uses, including the status registers, must be preserved either by the hardware or the user code."
Note that this rule is slightly stronger than for non-interrupt functions since in this case the callee (the interrupt function) must save any caller-preserve registers it uses. For a non-leaf function an interrupt function still needs to save only the callee-preserve registers that it uses. It must also save all the caller-preserve registers since any function it calls will assume these registers are available and its “caller”, the interrupted function(s), will not have had a chance to do the saving.