Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-11597

Documentation needs to state that building C++ files with --abi=eabi forces runtime type identification (RTTI) to be included

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium

      The attached file has a base class that defines a pure virtual function, and a derived class that inherits from it. Build it without RTTI, then with RTTI.

      C:\examples>cl2000 --abi=eabi --keep_asm file.cpp
      
      C:\examples>copy file.asm nortti.asm
              1 file(s) copied.
      
      C:\examples>cl2000 --abi=eabi --keep_asm --rtti file.cpp
      
      C:\examples>copy file.asm rtti.asm
              1 file(s) copied.
      

      Compare nortti.asm and rtti.asm. There are only minimal differences that are not related to the problem.

      This causes the .const section to be much larger, because it contains RTTI. This RTTI includes, among other things, a string that names the class. The customer complains that this is a waste of flash memory.

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: