CODEGEN-2286 |
palign(8) of .init_array messes up __TI_INITARRAY_Limit address |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
In the linker command file, replace
.init_array > FLASH, palign(8), fill = 0xffffffff
with the following GROUP statement:
GROUP
{
.init_array
} > FLASH, palign(8)
The palign(8) on GROUP will ensure that any required padding is added after .init_array. However, both the size of .init_array and the value of __TI_INITARRAY_Limit remain unchanged. |
Applying palign(8) to .init_array caused __TI_INIT_ARRAY_Limit to be set to the end of .init_array including the padding. This broke RTS startup code responsible for calling constructors because the table of constructors now includes invalid data. This bug has been fixed and __TI_INIT_ARRAY_Limit is no longer affected by padding. |
CODEGEN-2210 |
PRU assembler rejects valid LBBO instruction |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
Use formats of LBBO and SBBO instructions that specify immediate values in the 3rd or 4th operands. |
The PRU assembler rejected valid LBBO and SBBO instructions that specified registers for the 3rd and 4th operands, for example, LBBO &r3, r1, r2.w0, b0
The PRU assembler is now updated to accept this format for LBBO and SBBO instructions. |
CODEGEN-2119 |
Stack usage assistant call graph misses callee relationship for some direct calls |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
|
The Object File Display utility failed to detect function callees when generating call graph information for functions that contain nested blocks. |
CODEGEN-2113 |
Hex utility mishandles space in directory name of output file |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
Use directory names without spaces for output files. |
The hex utility did not correctly handle spaces in output directory and file names. |
CODEGEN-1976 |
Value of __cplusplus is wrong |
Fixed |
|
PRU_2.2.0 |
If possible, use the -ps or --strict_ansi options. This mode will use the strict definition of __cplusplus, which is 199711L. |
Our parser mimicked G++ behavior for the value of this macro in relaxed ANSI mode. This reproduced a bug in G++ versions v.4.7 and v.4.3 that has since been fixed. |
CODEGEN-1941 |
PRU disasm lib crashes CCSv6.2.0 for Linux |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
wrong workaround |
When using Ubuntu 16.04 and attempting to connect to a PRU core, CCS either freezes or collapses without a trace.
This was tested with both CCSv6.1.3 and CCSv6.2.0 on Ubuntu 16.04 64 bits and using XDS100v2 and XDS200 on AM335x devices. |
CODEGEN-1517 |
#pragma FUNCTION_OPTIONS meaningless unless at least -o0 is used |
Fixed |
|
PRU_2.2.0 |
|
|
CODEGEN-1333 |
Structure assignment causes compiler to fail with INTERNAL ERROR: Decomposition error |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
Replace struct assignments involving packed structures with a memcpy() call to copy the contents of the RHS of the struct assign to the LHS. |
|
SDSCM00052339 |
demangler --output option does not work at all |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
armdem file.asm > file.dis |
|
SDSCM00052301 |
Linker crashes when --ecc:ecc_error is used |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
None. |
|
SDSCM00052265 |
Flexible array with initializer not handle correctly |
Fixed |
PRU_2.2.0 |
PRU_2.2.0 |
None. |
|
SDSCM00052163 |
The PRU Compiler Guide states that we do not provide floating point emulation routines for PRU. This is wrong. |
Fixed |
|
PRU_2.2.0 |
|
|