On Mon, 2011-04-18 at 08:50 -0600, Tom Tromey wrote:
Tom> There are 3 indices in DWARF. AFAIK .debug_aranges doesn't really have Tom> problems, except one theoretical one that everybody has agreed to Tom> ignore. I'm not sure why I didn't just use this instead of putting the Tom> ranges into .gdb_index; maybe I was too worried about this theoretical Tom> problem. (Changing this might be a decent way to shrink .gdb_index.)
Mark> What is the theoretical problem?
There is no way to distinguish between a CU that does not have a corresponding .debug_aranges entry, and a CU that simply has no addresses to represent. This is ambiguous because .debug_aranges is an optional section.
This is semi-pathological, and anyway I think we all agreed to just ignore it.
I recently made a change to what gcc outputs for an "address less" CU: http://gcc.gnu.org/ml/gcc-patches/2011-03/msg02286.html Such a CU will not have a low_pc attribute. Maybe that helps?
Cheers,
Mark