[Issue 3987] [gdb] Invalid DWARF output for function pointers

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Mar 31 18:44:52 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=3987


Robert Clipsham <robert at octarineparrot.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|patch                       |


--- Comment #9 from Robert Clipsham <robert at octarineparrot.com> 2010-04-01 02:44:44 BST ---
Again, the last patch I mentioned is wrong! The correct solution is to only
output the DW_AT_type if the type isn't void. I've managed to fix the other
issue too, it needs more time to make a proper patch though. The issue is that
the DW_TAG_subroutine_type info for the .debug_info section isn't cached,
unlike all the other basic types, so when a function pointer parameter is a
function pointer, it generates the debug info again before the end of the
output for the current DW_TAG_subroutine_type (I probably didn't explain that
too well). The solution is to cache the function types, as well as the basic
types. This needs to be a bit more advanced though, as the types are combined,
so more than a basic array is needed. I haven't tested if structs/classes have
the same issue when they are parameters to function pointers, I'll check.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list