I've found that in elftoolchain 0.7.1, the libdwarf function
dwarf_get_fde_list_eh() exits with an error when an object has a CIE
with 'S'-augmentation in its .eh_frame section:

Augmentation: zRS

The augmentation has something to do with signal frames.

I've worked around this by slightly patching libdwarf_frame.c:

--- a/external/bsd/elftoolchain/libdwarf/libdwarf_frame.c
+++ b/external/bsd/elftoolchain/libdwarf/libdwarf_frame.c
@@ -143,6 +143,7 @@ _dwarf_frame_parse_lsb_cie_augment(Dwarf_Debug dbg, 
Dwarf_Cie cie,
        while (*aug_p != '\0') {
                switch (*aug_p) {
                case 'L':
+               case 'S':
                        /* Skip one augment in augment data. */
                        augdata_p++;
                        break;
 

Without the patch, an 'S'-augmentation makes
_dwarf_frame_parse_lsb_cie_augment() exit with an error at the switch's
default case.

Dave

-- 
David Young
dyo...@pobox.com    Urbana, IL    (217) 721-9981

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Elftoolchain-developers mailing list
Elftoolchain-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/elftoolchain-developers

Reply via email to