VirtualBox

Ignore:
Timestamp:
Oct 27, 2021 7:55:58 PM (3 years ago)
Author:
vboxsync
Message:

IPRT/dbgmoddwarf: Don't barf on DW_TAG_label w/o any symbol name (isolinux-debug.elf). Don't assert on DW_LNE_set_descriminator appearing in v3 tables (gcc 10).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/dbg/dbgmoddwarf.cpp

    r86522 r92112  
    38253825
    38263826                        /*
    3827                          * Note! Was defined in DWARF 4.  But... Watcom used it
    3828                          *       for setting the segment in DWARF 2, creating
    3829                          *       an incompatibility with the newer standard.
     3827                         * Note! Was defined in DWARF 4.  But... Watcom used it for setting the
     3828                         *       segment in DWARF 2, creating an incompatibility with the newer
     3829                         *       standard.  And gcc 10 uses v3 for these.
    38303830                         */
    38313831                        case DW_LNE_set_descriminator:
    38323832                            if (pLnState->Hdr.uVer != 2)
    38333833                            {
    3834                                 Assert(pLnState->Hdr.uVer >= 4);
     3834                                Assert(pLnState->Hdr.uVer >= 3);
    38353835                                pLnState->Regs.uDiscriminator = rtDwarfCursor_GetULeb128AsU32(pCursor, UINT32_MAX);
    38363836                                Log2(("%08x: DW_LNE_set_descriminator: %u\n", offOpCode, pLnState->Regs.uDiscriminator));
     
    51605160                if (pThis->iWatcomPass == 1)
    51615161                    rc = rtDbgModDwarfRecordSegOffset(pThis, pLabel->uSegment, pLabel->Address.uAddress);
    5162                 else
     5162                else if (pLabel->pszName && *pLabel->pszName != '\0') /* Seen empty labels with isolinux. */
    51635163                {
    51645164                    RTDBGSEGIDX iSeg;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette