Open Defects in Release

ID Summary State Reported In Release Target Release Workaround Release Notes
CODEGEN-2373 Linker sometimes generates "Assertion failed" message and aborts Planned ARM_16.9.3.LTS Linker sometimes generates "Assertion failed" message and aborts.
CODEGEN-2320 Compiler fails to truncate scaled offset to byte Accepted ARM_16.9.3.LTS The compiler matches X[(unsigned char)(Y >> 16)] with an indexed addressing mode, but it can't because that doesn't truncate the array index to 8 bits.
CODEGEN-2215 RTS source code comments regarding multiple threads not qualified to C6000-only Accepted ARM_16.9.2.LTS
CODEGEN-2116 Compiler takes a long time compiling a function Open ARM_16.9.0.LTS Using the following options, if possible, reduces the compilation time to a couple minutes: --embedded_constants=off --opt_level=off --opt_for_speed=0 More information about the --embedded_constants option can be found in section 2.3.4 Run-time Model Options of the TI ARM Optimizing C/C++ Compiler User's Guide.
SDSCM00052872 #pragma LOCATION and palign do not work together Open ARM_16.9.0.LTS One workaround is to use specific placement in the linker command file. In the C code, replace the #pragma LOCATION with a #pragma DATA_SECTION ... #pragma DATA_SECTION(device_fw_info_ptr, "for_device"); And in the linker command file, replace the whole .TI.bound line with this ... for_device > 0x00018000, palign(8), fill = 0xffffffff
SDSCM00052868 Automatic library build fails when an exact library name is used Open ARM_16.9.0.LTS Don't specify the name of the library.
SDSCM00052849 Compiler and assembler disagree on format for IT instruction Open ARM_16.9.0.LTS
SDSCM00052780 The armhex command does not handle spaces in the name of the output binary Open ARM_16.9.0.LTS
CODEGEN-1458 Consider splitting up unified_locale.cpp to save code space Open ARM_16.9.0.LTS
CODEGEN-1445 Compiler inserts unnecessary register copy Open ARM_16.9.0.LTS
SDSCM00051660 When the imaginary part of z is INFINITY, cprojf(z) is NOT equivalent to INFINITY + I * copysign(0.0, cimagf(z)) Accepted ARM_16.9.0.LTS
SDSCM00051484 Compiler does not respect partial overrides in C99 designated initializers Accepted ARM_16.9.0.LTS
SDSCM00051367 Disable diagnostic 1558 (--float_operations_allowed diagnostic) in standard header files Accepted ARM_16.9.0.LTS
SDSCM00051353 MISRA does not recognize #pragma as preprocessing directive for 19.1 Accepted ARM_16.9.0.LTS
SDSCM00051165 Should accept "LDRD R8,[R1]" in Thumb-2 mode Accepted ARM_16.9.0.LTS
SDSCM00051114 Missing half-precision float conversion functions Accepted ARM_16.9.0.LTS
SDSCM00051113 Missing __aeabi_read_tp Accepted ARM_16.9.0.LTS
SDSCM00051111 Missing AEABI_COMPATIBILITY_MODE link-time constants Accepted ARM_16.9.0.LTS
SDSCM00051086 Assembler accepts but mistranslates BLLT in v7 thumb mode Accepted ARM_16.9.0.LTS
SDSCM00051069 Should allow "ADD R0, R1, #0xfff" for v6m0 Accepted ARM_16.9.0.LTS Use the syntax "ADDW R0, R1, #0xfff" instead.
SDSCM00051065 Should accept 2-operand SUB SP in Thumb1/UAL mode Accepted ARM_16.9.0.LTS Use ADD SP, SP, # instead
SDSCM00050861 Should accept 2-operand add in ARM mode Accepted ARM_16.9.0.LTS
SDSCM00050499 The .label assembler directive should not be accepted when assembling for ELF. Accepted ARM_16.9.0.LTS
SDSCM00050131 Local struct with non-constant initializer treated as static scope variable Accepted ARM_16.9.0.LTS
SDSCM00049911 __aeabi_dcmpun returns 1 for Inf and -Inf Accepted ARM_16.9.0.LTS
SDSCM00049284 Compiler misreports Misra warning 10.1 Accepted ARM_16.9.0.LTS
SDSCM00049280 Ill advised enum scalar usage gets MISRA diagnostic, but similar usage of enum array does not Open ARM_16.9.0.LTS
SDSCM00049278 Array that is correctly initialized erroneously gets a MISRA diagnostic about size not being specified Open ARM_16.9.0.LTS
SDSCM00048267 Warning generated when using __curpc intrinsic on Thumb 2 Accepted ARM_16.9.0.LTS
SDSCM00047902 Predefined macro __TI_FPv4SPD16_SUPPORT__ should be __TI_FPV4SPD16_SUPPORT__ Accepted ARM_16.9.0.LTS
SDSCM00047077 Incorrectly reduced double constant to float when ultimate destination is short Accepted ARM_16.9.0.LTS
SDSCM00046352 Disassembler does not emit certain instructions in UAL form by default Accepted ARM_16.9.0.LTS
SDSCM00046102 MISRA 12.8 and MISRA 10.5 false positives Accepted ARM_16.9.0.LTS
SDSCM00046074 Cortex-M0 library lacks uread4, etc. Open ARM_16.9.0.LTS If using the TI compiler, the TI compiler doesn't call any of these functions, so no workaround should be necessary. If using any other vendor's compiler and linking with the TI toolchain, link with the other vendor's toolchain.
SDSCM00042945 -pdse=195 causes an error under EABI if any standard header file is included Accepted ARM_16.9.0.LTS
SDSCM00040934 Structure is not initialized correctly when using -o2 or -o3 optimization Accepted ARM_16.9.0.LTS The initialization will have to be done at run-time, through a __sti initialization routine. You can see this routine when compiling without optimization. To workaround the compiler removing this initialization routine, initialize the object at the beginning of main: Info2.mSize = ((unsigned)_end_isr_stack - (unsigned)_start_isr_stack);
SDSCM00040523 The _ssat16 intrinsic allows literals in the range of 0-31, but the SSAT16 instruction only accepts values from 1-16 Accepted ARM_16.9.0.LTS
SDSCM00040522 _ssatl intrinsic allows 3rd argument to be 0 resulting in an assembler error. Accepted ARM_16.9.0.LTS
SDSCM00039636 When creating a partial linked ELF object file, the linker uses virtual addresses instead of relative addresses. Accepted ARM_16.9.0.LTS
SDSCM00039626 ARM assembler does not issue a warning for PC-relative loads when --embedded_constants=off Accepted ARM_16.9.0.LTS
SDSCM00039220 Assembler does not accept the SP operand of the SRSDB instruction Accepted ARM_16.9.0.LTS Omit the SP! operand and the instruction should assemble correctly.
SDSCM00038278 ARM floating point conversion routines do not support NaN Accepted ARM_16.9.0.LTS
SDSCM00037227 ARM disassembler error for VMRS instruction Accepted ARM_16.9.0.LTS
SDSCM00037086 ARM assembler allows incorrect VFP registers for some instructions on D16 VFP architectures Accepted ARM_16.9.0.LTS
SDSCM00037008 Linker outputting wrong build attribute name for EABI TAG_VFP_arch on ARM targets Accepted ARM_16.9.0.LTS
SDSCM00036874 Section relative ELF symbol values in partially linking object files should hold the section offset for the symbol Accepted ARM_16.9.0.LTS
SDSCM00036773 LDM/STM -DA/FA/IB/ED viariant instructions erroneously accepted by assembler for Cortex-M3 Accepted ARM_16.9.0.LTS
SDSCM00036770 LDREXD and STREXD instructions erroneously generate errors on Cortex A8 and R4 Accepted ARM_16.9.0.LTS
SDSCM00018691 Linker gives misleading warning when dot expressions used in SECTION directive for .stack section Accepted ARM_16.9.0.LTS
SDSCM00014430 calloc doesn't check arguments to make sure the requested size is reasonable Accepted ARM_16.9.0.LTS
SDSCM00008685 DWARF does not correctly represent variables stored in register pairs Accepted ARM_16.9.0.LTS Although 'var1' and 'var2' are shown to be in single registers, a debugger could determine that they are actually stored in register pairs by looking at the type of the variables: [00000113] DW_TAG_base_type DW_AT_name long long DW_AT_encoding 0x5 DW_AT_byte_size 0x8 The base type indicates that the size of the variables is 0x8 bytes. Since a single register can only store 0x4 bytes of information, it would take two registers to hold this values. On TI architectures, values stored in multiple registers are always stored in consecutive registers. Thus, the debugger would know that if the entire value could not fit in A4, the rest of the value must be in A5. A5 would contain the upper 32 bits of the value.
SDSCM00008543 Forward reference in .space generates an internal error Accepted ARM_16.9.0.LTS none
SDSCM00008465 Language Conformance: crash because of void pointer dereference Accepted ARM_16.9.0.LTS Please describe the workaround for this problem.
SDSCM00008248 Compilers on PC will not work without TMP set Accepted ARM_16.9.0.LTS Set the TMP environment variable, even if just set to . (current directory)

Generated on Wed Jul 26 15:19:56 2017