Unexpected symbol ENUMERATION_TYPE

Hi,

I compiled my project with a toolchain out of buildroot and everything works fine expect that i get a warning in the Commands-Tab after I started to debug:

set debug-from main
start
WARNING(CMD399-COR192-IMG54-COR307):
! Failed to start the target
! Failed to resolve breakpoint expression "main"
! Failed to demand load DWARF debugging information: section .debug_info, offset 0x3a71
! Unexpected symbol ENUMERATION_TYPE
WARNING(CMD407): Trying the entry point instead
wait
Execution stopped at breakpoint 1: 0x00011208
In _start (no debug info)

Debugging works just in Disassembly and expressions won't work at all. The error ' Unexpected symbol ENUMERATION_TYPE '  seems odd cause it's a default debug entry of DWARF, isn't it?

So I need some suggestions. Same results from DS-5 5.23.1 & 5.25.0.

Parents
  • Hi Marcus

    This appears to be a problem with either the generation of debug information by your compiler, or consumption of the debug information by the Arm Debugger. From the warning message, it looks like an unexpected DW_TAG_enumeration_type was found in the .debug_info section at offset 0x3a71.
    I expect this is being generated from an enum declaration in your C/C++ code.

    You don't say which compiler you are using, or which DWARF version you are using, but you could try recompiling with an explicit switch to select a different DWARF version e.g. -gdwarf-2, -gdwarf-3 or -gdwarf-4.

    Alternatively, you could try rearranging your C/C++ code around the enum (or try to eliminate its use?), then recompiling.

    You can examine the content of the .debug_info section in your image with gcc's "objdump" utility, e.g
    objdump -g yourimage.axf


    Then search the (long!) output for "DW_TAG_enumeration_type", e.g.:
    :
    Contents of the .debug_info section:
    :
     <1><aa3>: Abbrev Number: 36 (DW_TAG_enumeration_type)
        <aa4>   DW_AT_encoding    : 7       (unsigned)
        <aa5>   DW_AT_byte_size   : 1
        <aa6>   DW_AT_type        : <0x52>
        <aaa>   DW_AT_decl_file   : 1
        <aab>   DW_AT_decl_line   : 82
        <aac>   DW_AT_decl_column : 1
        <aad>   DW_AT_sibling     : <0xadc>
     <2><ab1>: Abbrev Number: 37 (DW_TAG_enumerator)
        <ab2>   DW_AT_name        : (indirect string, offset: 0x6eb): burstShell
        <ab6>   DW_AT_const_value : 0
    :

    Hope this helps

    Stephen

Reply
  • Hi Marcus

    This appears to be a problem with either the generation of debug information by your compiler, or consumption of the debug information by the Arm Debugger. From the warning message, it looks like an unexpected DW_TAG_enumeration_type was found in the .debug_info section at offset 0x3a71.
    I expect this is being generated from an enum declaration in your C/C++ code.

    You don't say which compiler you are using, or which DWARF version you are using, but you could try recompiling with an explicit switch to select a different DWARF version e.g. -gdwarf-2, -gdwarf-3 or -gdwarf-4.

    Alternatively, you could try rearranging your C/C++ code around the enum (or try to eliminate its use?), then recompiling.

    You can examine the content of the .debug_info section in your image with gcc's "objdump" utility, e.g
    objdump -g yourimage.axf


    Then search the (long!) output for "DW_TAG_enumeration_type", e.g.:
    :
    Contents of the .debug_info section:
    :
     <1><aa3>: Abbrev Number: 36 (DW_TAG_enumeration_type)
        <aa4>   DW_AT_encoding    : 7       (unsigned)
        <aa5>   DW_AT_byte_size   : 1
        <aa6>   DW_AT_type        : <0x52>
        <aaa>   DW_AT_decl_file   : 1
        <aab>   DW_AT_decl_line   : 82
        <aac>   DW_AT_decl_column : 1
        <aad>   DW_AT_sibling     : <0xadc>
     <2><ab1>: Abbrev Number: 37 (DW_TAG_enumerator)
        <ab2>   DW_AT_name        : (indirect string, offset: 0x6eb): burstShell
        <ab6>   DW_AT_const_value : 0
    :

    Hope this helps

    Stephen

Children
More questions in this forum