[EXT_EP-10744] TI Arm Clang mismatch between source code and debugger view with function subsections Created: 09/Feb/22 Updated: 15/Feb/22 Resolved: 15/Feb/22 |
|
| Status: | Fixed |
| Project: | Embedded Software & Tools |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | High |
| Reporter: | TI User | Assignee: | TI User |
| Resolution: | Fixed | Votes: | 0 |
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Product: | Code Generation Tools |
| Internal ID: | CODEGEN-9669 |
| Found In Release: | ARMCLANG_1.3.1.LTS |
| Fix In Release: | ARMCLANG_1.3.2.LTS* |
| Affected Platform/Device: | default |
| Workaround: | Compile with -fno-function-sections for debugging. This may result in a larger binary as uncalled functions may be included in the program. |
| Description |
|
When code is compiled with debug and function subsections, functions that are not actually called in the program may show up in the debugger with ranges that overlap with other functions. This is because the TI Arm Clang compiler emits all debug info for an object file in the same section even when function subsections are used. The executable code for functions that are not called won't be included in the program when function subsections are used, but if there were any other functions in the same source file that were called, their debug info will still get pulled in. Because the uncalled functions don't have actual addresses, their debug info will have low addresses of 0, leading to overlap in the debug view with any other functions in that range. |