clayborg (Greg Clayton)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 23 2014, 10:11 AM (152 w, 1 h)

Recent Activity

Yesterday

clayborg added a comment to D36620: Fix crash on parsing gdb remote packets.

We need a test for this to ensure we don't regress.

Mon, Aug 21, 9:09 AM

Wed, Aug 16

clayborg accepted D36046: Improve the posix core file triple detection.

Looks fine. Sorry for the delay.

Wed, Aug 16, 10:37 AM

Mon, Aug 14

clayborg accepted D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

Glad this worked.

Mon, Aug 14, 8:16 AM

Fri, Aug 11

clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

Might need to retitle again as well

Fri, Aug 11, 9:32 AM
clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

So I looked at the instances of STT_NOTYPE in a few shared libraries on my computer and they do seem to have valid addresses in them.

Fri, Aug 11, 9:32 AM

Wed, Aug 9

clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

It would be a good idea to see what this $debug_ranges627 symbol actually is. It seems like a stray linker symbol that wasn't stripped? It would be a good idea to figure out what this symbol is so we can determine how to deal with it correctly.

Wed, Aug 9, 11:04 AM
clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

I think a better solution is to not give the symbol's address a valid section in the first place. This would be done in ObjectFileELF.cpp when . It doesn't seem like the section is valid because $debug_ranges627 shouldn't have an address that matches something in .text. It just doesn't make sense.

Wed, Aug 9, 11:01 AM
clayborg accepted D36445: Fix "process load/unload" on android.
Wed, Aug 9, 10:49 AM

Tue, Aug 8

clayborg added inline comments to D36445: Fix "process load/unload" on android.
Tue, Aug 8, 8:01 AM

Mon, Aug 7

clayborg accepted D33035: Tool for using Intel(R) Processor Trace hardware feature.

I was out on vacation, sorry for the delay. Looks good.

Mon, Aug 7, 8:17 AM
clayborg accepted D36319: [DebugInfo][DWARF] Correct some usages of PRIx32 to PRIx64.

I was out on vacation, sorry for the delay. Looks good.

Mon, Aug 7, 8:12 AM
clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

I was out on a week long vacation, sorry for the delay. The main questions is: should symbols with NOTYPE actually be included in any address lookups. I would vote for no as how can 1 address resolve to more than one section. That doesn't make sense to me. One address should resolve to one and only one section. Sounds like the NOTYPE symbols should just say they don't have a section. Thoughts?

Mon, Aug 7, 8:12 AM
clayborg accepted D35760: Expose active and available platform lists via SBDebugger API.
Mon, Aug 7, 8:07 AM · Restricted Project
clayborg accepted D36068: Add support for base address entries in the .debug_ranges section.

I was out on vacation, sorry for the delay. Looks good.

Mon, Aug 7, 7:56 AM
clayborg accepted D33213: Use socketpair on all Unix platforms.

Remove the outdated comment and we are good to go.

Mon, Aug 7, 7:54 AM

Fri, Jul 28

clayborg added a comment to D11465: Fix "process load/unload" on android.

It would be nice to auto detect the names correctly?

Fri, Jul 28, 12:00 PM

Thu, Jul 27

clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

maybe lldb::SymbolType::eSymbolTypeCompiler?

Thu, Jul 27, 12:03 PM
clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

So the issue is with the ObjectFileELF when it makes its symbol table. It is taking this symbols:

Thu, Jul 27, 12:03 PM
clayborg accepted D33213: Use socketpair on all Unix platforms.

I'm ok as long as Pavel is ok. Please wait for the OK from him as well.

Thu, Jul 27, 11:58 AM

Tue, Jul 25

clayborg added a comment to D33213: Use socketpair on all Unix platforms.

So where did the other changes go where we use "--fd" for non Apple builds? Did those changes get lost? They will be needed.

Tue, Jul 25, 9:08 AM
clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

Looking at an ELF file with DWARF, I see:

Tue, Jul 25, 9:06 AM
clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

(in the above log output .text has a valid address, but .debug_aranges doesn't. We might need to cross correlate withe the program headers to tell if something gets loaded (PT_LOAD) for a given file address. What does the output of:

Tue, Jul 25, 8:46 AM
clayborg added a comment to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

In your log we see:

Tue, Jul 25, 8:46 AM
clayborg requested changes to D35784: [LLDB][MIPS] Set the Section's file address for ELF section to LLDB_INVALID_ADDRESS if SHF_ALLOC is not set.

Two issues we need to resolve:

  • I don't think AddressClass should have Absolute as a value. Absolute values in symbol tables are just numbers, not necessarily addresses.
  • This change won't work for ARM
Tue, Jul 25, 8:40 AM

Mon, Jul 24

clayborg accepted D35607: Extend 'target symbols add' to set symbol file for a given module.
Mon, Jul 24, 2:52 PM · Restricted Project
clayborg added a comment to D35607: Extend 'target symbols add' to set symbol file for a given module.

Greg, are you with me checking this in?

Mon, Jul 24, 2:51 PM · Restricted Project
clayborg added a comment to D35734: Don't allow LLDB to try and parse .debug_types.

This section have been already removed from Dwarf5 so I agree that we shouldn't spend too much time adding support for it.

Compilers wanting to use type units and DWARF 4 should be emitting them in the .debug_types section. DWARF 5 kept the concept but moved them back into the .debug_info section. Supporting type units in general seems like a good idea, and the only question is where they live and what the exact details of the header look like.

Mon, Jul 24, 11:48 AM
clayborg added a comment to D35734: Don't allow LLDB to try and parse .debug_types.

The enum might need to be scoped outside the function or in a header file...

Mon, Jul 24, 10:17 AM
clayborg added a comment to D35734: Don't allow LLDB to try and parse .debug_types.

I believe a crash looks like:

Mon, Jul 24, 10:16 AM
clayborg requested changes to D33213: Use socketpair on all Unix platforms.

Please init fd

Mon, Jul 24, 9:58 AM
clayborg added a comment to D35734: Don't allow LLDB to try and parse .debug_types.

We have been hitting this at Facebook for server apps that statically link the entire world (libc, libc++, libstdc++, all other needed shared libraries) as the debug info is too large unless -fdebug-types-section is used.

Mon, Jul 24, 9:42 AM

Jul 21 2017

clayborg accepted D35740: Fix PR33875 by distinguishing between DWO and clang modules.

Looks like there already is a test case that was failing as Jim mentioned. Accepting based on that.

Jul 21 2017, 4:05 PM
clayborg created D35734: Don't allow LLDB to try and parse .debug_types.
Jul 21 2017, 1:31 PM
clayborg requested changes to D35607: Extend 'target symbols add' to set symbol file for a given module.

Looks fine, just add an error that checks that when the --file options is used, that only one argument (symbol file) is specified.

Jul 21 2017, 9:11 AM · Restricted Project
clayborg accepted D35525: Fix "help format" output.
Jul 21 2017, 9:03 AM
clayborg accepted D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

Very nice.

Jul 21 2017, 9:02 AM · Restricted Project

Jul 20 2017

clayborg added a comment to D35525: Fix "help format" output.

Add a test for this and this will be good to go.

Jul 20 2017, 1:30 PM
clayborg added a comment to D33035: Tool for using Intel(R) Processor Trace hardware feature.

I am not sure how sensitive typemaps are to the names of the arguments? Maybe we can just have you use different names and then the two typemaps won't collide? You can also write some manual code to do the remapping without typemaps.

Jul 20 2017, 9:55 AM
clayborg added a comment to D35607: Extend 'target symbols add' to set symbol file for a given module.

One other idea if we go with the UUID::Type solution: if we have UUIDs that are different, we could ask the ObjectFile (ObjectFileELF) to see if it thinks the files go together. Not sure if there is anything in the ELF file that would allow us to do that. In Mach-O we have all definitions for the .text and .data sections, just not the bytes. So it would be easy to compare the file address and file sizes of the sections that are in both to see if they match. Something like:

Jul 20 2017, 9:49 AM · Restricted Project
clayborg added a comment to D35607: Extend 'target symbols add' to set symbol file for a given module.

So we should just make sure this works:

(lldb) target symbols add --shlib a.out debug_binaries/a.out

The --uuid option is there to help you match up without having to specify the file path. If I am understanding correctly, "a.out" has no UUID or build ID, but "debug_binaries/a.out" does?

In this case, neither of the files has a build id/UUID. However, the tricky part here is that in this case we "invent" a UUID by doing a checksum of the whole file. This is done to support the .gnu_debuglink https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html method of finding symbols. It works like this:

  • if a file has a gnu_debuglink section, we set the UUID to the crc inside that section
  • if a file does not have a gnu_debuglink section, we *assume* it will be used as a gnu_debuglink target, and also set the UUID to the crc we compute from the whole file contents. This works fine for the gnu_debuglink case, as then the rest of the machinery will match the files based on their UUIDs. However, it does not work for the general case without the debug link, as then the files will end up with two different "UUID"s (because they are based on the file content), and everything will consider them as different.

    The solution that would seem best to me here would be to leave the UUID of files which don't have a build-id as empty, as the gnu_debuglink is not really a UUID -- it's main function is to contain a file path, and the crc just acts as a sanity check. This should make the logic for matching two uuid-less files saner, but it would require us to implement the gnu_debuglink method in a different way (which I think is fine, as the current way seems pretty hacky, and causes us to often compute crcs of large files needlessly). I have no idea how much of our existing code would blow up if we started having files without a uuid though.

    What do you think about that?
Jul 20 2017, 9:44 AM · Restricted Project

Jul 19 2017

clayborg added a comment to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

I forgot the "return 0;" in the "if (!invalid_forms.empty()) {"

Jul 19 2017, 3:22 PM · Restricted Project
clayborg requested changes to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

Good idea on passing back the unsupported form. Expand to all unsupported forms as suggested in inlined comments and this will be good to go.

Jul 19 2017, 3:18 PM · Restricted Project
clayborg requested changes to D35607: Extend 'target symbols add' to set symbol file for a given module.

So we should just make sure this works:

Jul 19 2017, 11:58 AM · Restricted Project
clayborg added a comment to D33213: Use socketpair on all Unix platforms.

I am not sure how you expect to submit any patches then. Patches must be tested prior to submission.

Jul 19 2017, 10:14 AM
clayborg added a comment to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

We will need a warning to be emitted in SymbolFileDWARF::CalculateAbilities() stating we won't parse the DWARF due to "unsupported DW_FORM value of 0x1f20". Since this isn't done in a multi-threaded way, the warning should work without deadlocking.

Jul 19 2017, 10:12 AM · Restricted Project
clayborg added a comment to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

Looks like we need to add support for:

Jul 19 2017, 10:09 AM · Restricted Project
clayborg added a comment to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

"true.all" has custom DW_FORM_XXX values. There is no way to know what those are without adding parsing support to handle them. The right fix is to add support for this into LLDB. I will attach abbrev.txt which contains the .debub_abbrev dump.

Jul 19 2017, 9:44 AM · Restricted Project
clayborg added a comment to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

Ah, that was hidden by "Older Comments"... Got the file. Will take a look

Jul 19 2017, 9:40 AM · Restricted Project
clayborg added a comment to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

DWARF tags that we don't know should be just fine. If you can forward a DWARF file that exhibits this behavior I can take a look.

Jul 19 2017, 9:35 AM · Restricted Project
clayborg requested changes to D35622: Fix LLDB crash accessing DWZ (Fedora) debug info.

This will stop the crash, but I don't believe this is the right way to fix this. We should probably remove all DIEs from the CU and warn that there was a problem parsing debug info in the specific compile unit. We don't want LLDB to crash later one when it is trying to build stuff using the DWARF that is just abnormally truncated.

Jul 19 2017, 9:34 AM · Restricted Project

Jul 18 2017

clayborg requested changes to D33213: Use socketpair on all Unix platforms.

Before any changes are submitted, we assume you are getting a clean test suite run.

Jul 18 2017, 8:21 AM

Jul 14 2017

clayborg added a comment to D33213: Use socketpair on all Unix platforms.

Any news on any speed changes? Please post the output of:

Jul 14 2017, 2:33 PM
clayborg accepted D33213: Use socketpair on all Unix platforms.

Let Pavel try this and verify and this is good to go.

Jul 14 2017, 2:32 PM

Jul 13 2017

clayborg added a comment to D31172: Move stop info override callback code from ArchSpec into Process.

Added a suggestion to make Target::GetArchitecturePlugin lazy and to ask if the arch is supported. Most of the time we will set this once and never need to change it, even when we attach, change arch, etc. The new suggestion will allow us to use the same arch plug-in without re-fetching it. Let me know what you think as the changes are thrown out there to see what people's opinions are.

Well... I don't feel strongly about it, but it's not my preferred solution (the IsSupported() call feels hacky). But since we're already throwing ideas out there, here are two of mine:

  • confine all the changes to m_arch to the SetArchitecture method. Right now only one of the assignments to m_arch is done outside of this method, and that one can be easily converted to a call to SetArchitecture(). This should make sure the two values never get out of sync.
Jul 13 2017, 9:33 AM
clayborg added a comment to D31172: Move stop info override callback code from ArchSpec into Process.

Added a suggestion to make Target::GetArchitecturePlugin lazy and to ask if the arch is supported. Most of the time we will set this once and never need to change it, even when we attach, change arch, etc. The new suggestion will allow us to use the same arch plug-in without re-fetching it. Let me know what you think as the changes are thrown out there to see what people's opinions are.

Jul 13 2017, 8:14 AM

Jul 12 2017

clayborg added a comment to D31172: Move stop info override callback code from ArchSpec into Process.

I think is saying we should just store the Architecture plug-in in the target instead of in the process. It will also need to be cleared when the target arch is changed.

Jul 12 2017, 1:31 PM
clayborg added a comment to D33213: Use socketpair on all Unix platforms.

Ah yes, I thought there was something missing...

Jul 12 2017, 10:43 AM
clayborg added a comment to D33213: Use socketpair on all Unix platforms.

Looks fine to me, lets make sure Pavel is OK with this. On MacOS socketpair is also much faster. Please run the following command while stopped at a breakpoint with and without your change:

Jul 12 2017, 9:52 AM
clayborg updated the summary of D33213: Use socketpair on all Unix platforms.
Jul 12 2017, 9:46 AM
clayborg added a comment to D34945: Adding Support for Error Strings in Remote Packets.

Note that if you put "Differential Revision: " followed by the URL for this:

Jul 12 2017, 8:02 AM
clayborg added a comment to D31172: Move stop info override callback code from ArchSpec into Process.

A few inline fixes, but this looks great. Very close

Jul 12 2017, 7:58 AM

Jul 11 2017

clayborg accepted D34945: Adding Support for Error Strings in Remote Packets.

Wait for an OK from Pavel as well.

Jul 11 2017, 8:27 AM

Jul 10 2017

clayborg added a comment to D34945: Adding Support for Error Strings in Remote Packets.

Looks good. Just one question on why we register a packet handler.

Jul 10 2017, 9:35 AM
clayborg added a comment to D33035: Tool for using Intel(R) Processor Trace hardware feature.

Much better on the API with Swig. Just a few inlined questions around GetRawBytes.

Jul 10 2017, 9:13 AM

Jul 5 2017

clayborg added inline comments to D34945: Adding Support for Error Strings in Remote Packets.
Jul 5 2017, 11:47 AM
clayborg requested changes to D34945: Adding Support for Error Strings in Remote Packets.

See inlined comments.

Jul 5 2017, 11:42 AM
clayborg added a comment to D33035: Tool for using Intel(R) Processor Trace hardware feature.

So std::vector shouldn't be used in a public API. You should make a class that wraps your objects. LLDB's public API has lldb::SBInstruction and lldb::SBInstructionList as examples. std::vector on other systems compiles differently for debug and release builds and things will crash.

Hi Greg .. Does it go for the tools built on top of LLDB (e.g. in my case where feature library is not a part of liblldb shared lib but built on top of it)? If yes, then I will proceed to remove std::vector from C++ public API of the tool and create a new class for it.

Jul 5 2017, 9:10 AM
clayborg accepted D34911: Enable parsing C++ names generated by lambda functions..
Jul 5 2017, 8:54 AM

Jul 4 2017

clayborg added a comment to D33035: Tool for using Intel(R) Processor Trace hardware feature.

So std::vector shouldn't be used in a public API. You should make a class that wraps your objects. LLDB's public API has lldb::SBInstruction and lldb::SBInstructionList as examples. std::vector on other systems compiles differently for debug and release builds and things will crash. If you need this via swig for internal kind of stuff, then use a typemap where you map std::vector<T> to a list() with T instances in it in python.

Jul 4 2017, 10:45 AM
clayborg added a comment to D34945: Adding Support for Error Strings in Remote Packets.

I would think we would try to enable this using something like:

Jul 4 2017, 10:37 AM

Jun 27 2017

clayborg accepted D34681: [DWARFCallFrameInfo] Add Type enum to differentiate eh/debug_frame sections.

Looks good.

Jun 27 2017, 9:44 AM
clayborg accepted D33674: Implementation of Intel(R) Processor Trace support for Linux.
Jun 27 2017, 9:42 AM

Jun 26 2017

clayborg accepted D34613: Add debug_frame section support.

If the CIEs can change per CIE,l then this patch is fine.

Jun 26 2017, 10:22 AM
clayborg requested changes to D34613: Add debug_frame section support.

Glad this is happening. Does this mean we won't see the "bad eh frame" warnings anymore on linux? See inlined comments.

Jun 26 2017, 9:04 AM

Jun 19 2017

clayborg accepted D34352: [linux] Change the way we load vdso pseudo-module.
Jun 19 2017, 9:16 AM

Jun 8 2017

clayborg accepted D33426: Introduce new command: thread backtrace unique.
Jun 8 2017, 7:52 AM

May 31 2017

clayborg resigned from D33674: Implementation of Intel(R) Processor Trace support for Linux.

I trust Pavel to review this since it is in the Linux native plugins mostly.

May 31 2017, 10:13 AM
clayborg accepted D33426: Introduce new command: thread backtrace unique.

Looks like a good starting point. Thanks for the changes.

May 31 2017, 10:11 AM

May 30 2017

clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Zach made some comments via e-mail:

May 30 2017, 9:29 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

The other option for fixing the problem with showing the wrong variables in the backtraces would be to make up a new frame-format string that is used for uniqued stack frames and use that format when showing uniqued stack frames:

May 30 2017, 8:39 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Clicked submit too early with last comments. After seeing how we previously needed to create a temp UniqueStack just to do the lookup, and also how UniqueStack make its thread index ID list mutable, a better solution is to use a std::map as shown in the inlined comments.

May 30 2017, 8:37 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Much cleaner. After seeing how we must construct a UniqueStack just so we can search for it, an even cleaner solution would be to make unique_stacks into:

May 30 2017, 8:20 AM

May 26 2017

clayborg added inline comments to D32585: Implementation of remote packets for Trace data..
May 26 2017, 1:45 PM
clayborg accepted D33434: Added new API to SBStructuredData class.
May 26 2017, 10:01 AM
clayborg requested changes to D33426: Introduce new command: thread backtrace unique.

We should probably store the stacks as lldb::addr_t values that are load addresses for quicker comparisons and searches. Inlined code details things more clearly.

May 26 2017, 9:59 AM

May 24 2017

clayborg accepted D33504: Fix FDE indexing while scan debug_info section.
May 24 2017, 9:58 AM
clayborg requested changes to D33434: Added new API to SBStructuredData class.

No need for the "StructuredDataType::" or "lldb::StructuredDataType::" prefixes. Since we aren't using an enum class (it was before) and since all enumerators start with "eStructuredDataType", it is now clear where this enum comes from without prefixing with the enum type name and/or namespace. I know you were replicating what was there before. There are two ways to fix this:
1 - define the lldb::StructuredDataType and "enum class StructuredDataType" and then shorten the names by removing eStructuredDataType from each enumerator
2 - leave lldb::StructuredDataType defined as enum StructuredDataType" and leave the names long and they can be used on their own.

May 24 2017, 9:15 AM
clayborg accepted D32585: Implementation of remote packets for Trace data..

If all R"( strings are under 80 characters, this is good to go. If not, just fix and submit, no extra review needed.

May 24 2017, 9:01 AM

May 23 2017

clayborg added a comment to D32585: Implementation of remote packets for Trace data..

Looks like we are down to just running clang format on the code so the R"( strings don't go over 80 chars and this is good to go from me.

May 23 2017, 10:52 AM
clayborg requested changes to D33434: Added new API to SBStructuredData class.

Very close and overall very nice, just a few implementation details to take care of.

May 23 2017, 10:47 AM
clayborg added a comment to D33426: Introduce new command: thread backtrace unique.

Add a test and fix the minor things as suggested and this will be good to go.

May 23 2017, 10:15 AM

May 22 2017

clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

I believe this patch is close enough for an initial checkin. We can iterate on it once it is in? We seem to be down to how to best iterate over ranges in ranges for intersect and for contains. Let me know your thoughts. Or feel free to commandeer this and check it in as you want it...

May 22 2017, 1:08 PM
clayborg requested changes to D32585: Implementation of remote packets for Trace data..

Close, some minor fixes.

May 22 2017, 12:07 PM

May 16 2017

clayborg accepted D33083: [Expression parser] Look up module symbols before hunting globally.

Very nice.

May 16 2017, 3:02 PM
clayborg requested changes to D33083: [Expression parser] Look up module symbols before hunting globally.

Just a few makefile changes where CFLAGS is being modified and this will be good to go. Much better location for this. Sean, please keep an eye out for this kind of thing in the future, I believe there is a lot of type searching code and function searching code that could have the same thing done in the future.

May 16 2017, 1:37 PM
clayborg added inline comments to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 16 2017, 11:53 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 16 2017, 11:53 AM
clayborg added a comment to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..

Sorry I hadn't posted my reply comments, just did that. Will look at your new comments and answer as needed.

May 16 2017, 11:38 AM
clayborg added inline comments to D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
May 16 2017, 11:38 AM
clayborg updated the diff for D32821: Add DWARF verifiers to verify address ranges are correct and scoped correctly..
  • Added an assert to catch if we don't remove overlapping or invalid ranges that catches the issue where the lambda was returning false instead of true and modified DieRangeInfo::insert() to assert as mentioned.
  • fixed ::contains and ::intersects to use a more efficient traversal.
  • fixed all other issues
May 16 2017, 8:01 AM