On 2/9/20 10:07 PM, Bernd Edlinger wrote: > Hi, > > this is based on Andrew's patch here: > > https://sourceware.org/ml/gdb-patches/2020-02/msg00092.html > > This and adds a heuristic to fix the case where caller > and callee reside in the same subfile, it uses > the recorded is-stmt bits and locates end of > range infos, including the previously ignored empty > range, and adjusting is-stmt info at this > same pc, when the last item is not-is-stmt, the > previous line table entries are dubious and > we reset the is-stmt bit there. > This fixes the new test case in Andrew's patch. > > It understood, that this is just a heuristic > approach, since we do not have exactly the data, > which is needed to determine at which of the identical > PCs in the line table the subroutine actually ends. > So, this tries to be as conservative as possible, > just changing what is absolutely necessary. > > This patch itself is preliminary, since the is-stmt patch > needs to be rebased after the refactoring of > dwarf2read.c from yesterday, so I will have to rebase > this patch as well, but decided to wait for Andrew. > > So, this is an update to my previous patch above: https://sourceware.org/ml/gdb-patches/2020-02/msg00262.html It improves performance on big data, by using binary search to locate the bogus line table entries. Otherwise it behaves identical to the previous version, and is still waiting for Andrew's patch before it can be applied. Thanks Bernd.