This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA/dwarf2] Small problem scanning line table for included files


Hello Jim,

Thanks for your careful review.

> This is getting a bit hairy.

I can't agree more. I was just fixated on having an exact fix, as
opposed to an approximate fix where we assume that the compiler is
not going to do anything meaningless.

> It would be simpler to simply delete the "!decode_for_pst_p && "
> towards the top of dwarf2_decode_lines, and always create a psymtab
> for the first file.  This could conceivably result in creating
> psymtabs for source files that have no line number entries in them,
> but that's probably not going to be a big deal.
> 
> (To be picky, we can make that mistake now anyway: consider what would
> happen if the line number program contained two consecutive
> DW_LNS_set_file instructions: the first file gets a psymtab, even
> though it's never used.)
> 
> To get everything exactly right, we would need to delay setting a file
> table entry's included_p flag until just before we actually call
> record_line.

I think you are right. Looking for DW_LNS_set_file was a mistake, since
it is not fullproof as you demonstrated above. I looked at the dwarf3
(draft7) reference again, and setting that flag everytime we need to
record a line seems to be the perfect place to do (it's a bit
complicated to explain my resoning, I was concerned mostly because
I was a bit fuzzy on certain details which were cleared by rereding
the dwarf3 reference document).

I shall give this a try, and report back.

-- 
Joel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]