Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 369466

Summary: ARM linker command files need sections for C++ exceptions (.ARM.exidx, .ARM.extab)
Product: [Technology] RTSC Reporter: Scott Gary <sg>
Component: ToolsAssignee: Sasha Slijepcevic <sascha>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Scott Gary CLA 2012-01-23 19:40:01 EST
Build Identifier: 

If C++ exception support is enabled for the TI compiler these two sections get generated: .ARM.exidx and .ARM.extab.  These sections are not placed in the linker command files, resulting in placement warnings, and in some cases (depending on default location) relocation overflow warnings.  (Tried this on both ARM9 and Cortex M3.)  Placement of these two sections should be added to the linker command files.

Reproducible: Always

Steps to Reproduce:
1.Build a C++ project (like the SYS/BIOS bigtime example)
2.Add some code to the .cpp file that does a throw()/catch()
3.Update the compiler language options to specify "Enable C++ exeception handling", and (if necessary) "Allow extern C functions to propagate exceptions" [under Properties->Build->TMS470 Compiler->Language Options]
4.Rebuild the project, note the warnings about new output sections without a SECTIONS specification
Comment 1 Sasha Slijepcevic CLA 2012-04-03 11:24:56 EDT
The bug is fixed in xdctargets-g01 (3.25 stream). If we need to backport the
fix to 3.23, the field Whiteboard should be set accordingly.
Comment 2 Dave Russo CLA 2016-01-12 00:49:31 EST
closing bugs that have been in resolved state for more than a year
Comment 3 Dave Russo CLA 2016-02-17 18:43:22 EST
in fixed state for more than one year