Hi,

I modified sotest to implement C++ exception handling (code from cxxtest) in 
loaded module,  libsotest.

The exception handling test fails,  apparently due to this item 4, below.


/****************************************************************************
 * Name:  __gnu_Unwind_Find_exidx
 *
 * Description:
 *    This function is called (if exists) by the gcc generated unwind
 *    run-time in order to retrieve an alternative .ARM.exidx Exception
 *    index section.
 *    This is the case for an ELF module loaded by the elf binary loader.
 *    It is needed to support exception handling for loadable ELF modules.
 *
 *    NOTES:
 *
 *     1. The section to be searched is chosen by the address of the calling
 *        site: if we are in a runtime loaded ELF, the code will be executed
 *        in ram ( > 0x20000000 ) otherwise we will  be executing code  from
 *        flash (0x08000000) (running nuttx from ram will break this logic)
 *
 *     2. __exidx_start  and  __exidx_end refers to main nuttx elf image and
 *        are defined in its linker script.
 *
 *     2. __exidx_start_elf  and  __exidx_end_elf refers  to the elf module
 *        loaded by the elf binary loader, and are initialized at run-time.
 *
 *     3. TODO: if nuttx itself is running from ram, this logic will not work
 *
 *     4. TODO: in order to support multiple elf modules running at the same
 *        time, this error logic needs to be extended to store multiple
 *        start/end ranges that refers to the loaded binaries.
 *
 ****************************************************************************/

Is my understanding correct?   Anyone done something in the area?


Thanks,

Chris Huang
ID TECH | Firmware System Architect/Associate Director
10721 Walker Street | Cypress, CA 90630
(714) 761-6368 Ext. 142 (office)
www.idtechproducts.com<http://www.idtechproducts.com/>
[cid:image001.png@01D97D03.233E2730]<http://www.idtechproducts.com/>

[Facebook]<https://www.facebook.com/idtechproducts/>    [Indesign] 
<https://www.linkedin.com/company/id-tech/>     [Twitter] 
<https://twitter.com/idtechproducts>

CONFIDENTIALITY NOTICE:
The information contained in this transmission is intended only for the person 
or entity to which it is addressed and may contain confidential and/or 
privileged material. If you are not the intended recipient of this information, 
do not review, retransmit, disclose, disseminate, use, or take any action in 
reliance upon this information. If you received this transmission in error, 
please contact the sender and destroy all printed copies and delete the 
material from all computers. Thank you.

NOTICE: This e-mail message and all attachments may contain legally privileged 
and confidential information intended solely for the use of the addressee. If 
you are not the intended recipient, you are hereby notified that you may not 
read, copy, distribute or otherwise use this message or its attachments. If you 
have received this message in error, please notify the sender by email and 
delete all copies of the message immediately.

Reply via email to