|ARM Technical Support Knowledge Articles|
Applies to: RealView Development Suite (RVDS)
This internal fault can occur when using RVCT 2.1 or 2.2.
This internal fault is caused by the limit on the compiler's debug table generation. Forward references in the debug information must currently fit into 3 bytes. If the debug information as a whole is too big, these forward references can stretch too far and this internal fault is generated.
C++ will exaggerate this problem because of long, mangled names.
Sometimes programmers would use an obfuscator to obfuscate their source code before distributing it for debug purposes. They may find that internal fault 0xf42b is only generated before obfuscating the source, but not after. This is because an obfuscator tends to shorten variable and function names considerably, which may remove the problem. Another simple workaround is to try splitting the source into separate files.
In RVCT 2.1 and 2.2, an undocumented compiler option "
--debug_info=large_debug_info" was added to allow the use of 4 bytes for forward references. The disadvantage to this workaround is that the debug information will become substantially larger.
For RVCT 3.0 and later, the compiler no longer suffers from this issue, so there is no need to use the "
--debug_info=large_debug_info" option with RVCT 3.0 and later.
Did you find this article helpful? Yes No
How can we improve this article?