Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Introduce a TypeSystem interface to support adding non-clang languages. | Pavel Labath | 2015-06-08 | 3 | -5/+5 | |
| | | | | | | | | | | | | | Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8712 Original Author: Ryan Brown <ribrdb@google.com> llvm-svn: 239360 | |||||
* | Improve OSType initialization in elf object file's arch_spec | Ed Maste | 2015-06-05 | 1 | -1/+18 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting the OSType in the ArchSpec triple is needed to correctly setup up the register context plugin. ArchSpec::SetArchitecture, for Mach-O only, sets the OSType. For ELF it was left to the ObjectFileELF to fill in the missing OSType. This change moves the ObjectFileELF logic into ArchSpec. A new optional 'os' parameter has been added to SetArchitecture. For ELF, this value is the from the ELF header.e_ident[EI_OSABI]. The default value is 0 or ELFOSABI_NONE. The real work of determining the OSType was done by the ObjectFileELF helper function GetOsFromOSABI. This logic has been moved SetArchitecture. GetOsFromOSABI has been commented as being deprectated. It is left in to support asserts. For ELF the vendor value returned from SetArchitecture should be UnknownVendor. An unneeded resetting in ObjectFileELF has been removed and replaced with an assert. This fixes a problem reading a core file on FreeBSD/ARM because the spec triple was arm-unknown-unknown. Patch by Tom Rix. Differential Revision: http://reviews.llvm.org/D9292 llvm-svn: 239148 | |||||
* | I make no claims that Mach ports work, but at least we should check the ↵ | Enrico Granata | 2015-06-03 | 1 | -2/+2 | |
| | | | | | | right thing llvm-svn: 238984 | |||||
* | Fix a bug where trying to Dump() a ValueObject would use the ↵ | Enrico Granata | 2015-06-03 | 1 | -2/+2 | |
| | | | | | | | | | | static/non-synthetic version of the value even if the ValueObject one actually called Dump() on turned out to be dynamic and/or synthetic This was of course overridable by using DumpValueObjectOptions, but the default should be saner and the previous behavior made for a few fun investigations.... rdar://problem/21065149 llvm-svn: 238961 | |||||
* | [MIPS][lldb-server] Add 32-bit register context and read/write FP registers ↵ | Sagar Thakur | 2015-06-03 | 1 | -10/+40 | |
| | | | | | | | | | | | | | on mips64 - Added support for read/write FP registers in FR1 mode. - Added 32 bit register context for mips32. Reviewers: clayborg, tberghammer, jaydeep Subscribers: emaste, nitesh.jain, bhushan, mohit.bhakkad, lldb-commits Differential Revision: http://reviews.llvm.org/D10029 llvm-svn: 238914 | |||||
* | Initialize 3 variables which were being used un-initialized. | Hafiz Abid Qadeer | 2015-06-01 | 1 | -3/+3 | |
| | | | | | | No regression on testsuite. Comitted as obvious. llvm-svn: 238761 | |||||
* | Leave OS type and vendor as unspecified unknowns. | Oleksiy Vyalov | 2015-05-29 | 1 | -6/+0 | |
| | | | | | | http://reviews.llvm.org/D10080 llvm-svn: 238623 | |||||
* | Don't #include "lldb-python.h" from anywhere. | Zachary Turner | 2015-05-29 | 9 | -18/+0 | |
| | | | | | | | | | | | | | Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore, all includes of it should be localized to the python library which will live under source/bindings/API/Python after a future patch. None of the files that were including this header actually depended on it anyway, so it was just a dead include in every single instance. llvm-svn: 238581 | |||||
* | Resubmitting r238459 and r238460 with fix for Linux. | Chaoren Lin | 2015-05-28 | 3 | -4993/+5075 | |
| | | | | llvm-svn: 238499 | |||||
* | Revert "Move inlined cxa_demangle.cpp to a separate file." | Ying Chen | 2015-05-28 | 3 | -4982/+4953 | |
| | | | | | | This reverts commit 8cb47a2140f3e93a34597fc9f11c8cd96130076d. llvm-svn: 238497 | |||||
* | Revert "Allow both MSVC and Itanium mangling schemes." | Ying Chen | 2015-05-28 | 2 | -111/+64 | |
| | | | | | | | | Cause build break. This reverts commit 6d986061393f2863fec739e04412281148acc1f3. llvm-svn: 238496 | |||||
* | Remove unused #includes of ScriptInterpreterPython.h | Zachary Turner | 2015-05-28 | 1 | -1/+0 | |
| | | | | llvm-svn: 238470 | |||||
* | Allow both MSVC and Itanium mangling schemes. | Chaoren Lin | 2015-05-28 | 2 | -64/+111 | |
| | | | | | | | | | | | | | | | | | | | Summary: LLDB on Windows should now be able to demangle Linux/Android symbols. Also updated CxaDemangle.cpp to be compatible with MSVC. Depends on D9949, D9954, D10048. Reviewers: zturner, emaste, clayborg Reviewed By: clayborg Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10040 llvm-svn: 238460 | |||||
* | Move inlined cxa_demangle.cpp to a separate file. | Chaoren Lin | 2015-05-28 | 3 | -4953/+4982 | |
| | | | | | | | | | | | | | | Summary: In preparation for some changes to make this compatible with MSVC. Reviewers: emaste, zturner, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9949 llvm-svn: 238459 | |||||
* | Make sure we print timestamps correctly to 9 places since we are printing ↵ | Greg Clayton | 2015-05-27 | 1 | -1/+1 | |
| | | | | | | | | nanoseconds. <rdar://problem/21090231> llvm-svn: 238334 | |||||
* | Make log options uniform betwwen lldb-platform and lldb-gdbserver | Tamas Berghammer | 2015-05-27 | 2 | -29/+35 | |
| | | | | | | | | | | This change also get rid of an unused Debugger instance in GDBRemoteCommunicationServerLLGS and the command interpreter from lldb-platform what was used only for enabling logging. Differential revision: http://reviews.llvm.org/D9876 llvm-svn: 238319 | |||||
* | Add a language log category. | Colin Riley | 2015-05-27 | 1 | -0/+3 | |
| | | | | | | Differential Revision: http://reviews.llvm.org/D9994 llvm-svn: 238314 | |||||
* | Improve LLDB prompt handling | Pavel Labath | 2015-05-27 | 3 | -174/+110 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: There is an issue in lldb where the command prompt can appear at the wrong time. The partial fix we have in for this is not working all the time and is introducing unnecessary delays. This change does: - Change Process:SyncIOHandler to use integer start id's for synchronization to avoid it being confused by quick start-stop cycles. I picked this up from a suggested patch by Greg to lldb-dev. - coordinates printing of asynchronous text with the iohandlers. This is also based on a (different) Greg's patch, but I have added stronger synchronization to it to avoid races. Together, these changes solve the prompt problem for me on linux (both with and without libedit). I think they should behave similarly on Mac and FreeBSD and I think they will not make matters worse for windows. Test Plan: Prompt comes out alright. All tests still pass on linux. Reviewers: clayborg, emaste, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9823 llvm-svn: 238313 | |||||
* | Make StructureData objects dump themselves with correct indentation. | Greg Clayton | 2015-05-27 | 1 | -19/+28 | |
| | | | | llvm-svn: 238279 | |||||
* | Implement PlatformWindows::GetEnvironment. | Zachary Turner | 2015-05-22 | 1 | -0/+6 | |
| | | | | | | | This fixes a couple of tests that rely on being able to get the host's environment or spawn an inferior with specific arguments. llvm-svn: 238042 | |||||
* | Added a new command in ProcessGDBRemote that can figure out the performance ↵ | Greg Clayton | 2015-05-21 | 1 | -2/+5 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | characterisitics of your GDB remote server. To addess this, attach to any GDB server and when stopped type: (lldb) process plugin packet speed-test The default will send a variety of packets with different amounts of data to send/receive and print the performance of each packet type: Testing sending 1000 packets of various sizes: qSpeedTest(send=0 , recv=0 ) in 0.057837000 sec for 17289.97 packets/sec ( 0.057837 ms per packet) with standard deviation of 0.007705 ms qSpeedTest(send=0 , recv=4 ) in 0.056162000 sec for 17805.63 packets/sec ( 0.056162 ms per packet) with standard deviation of 0.004439 ms qSpeedTest(send=0 , recv=8 ) in 0.057687000 sec for 17334.93 packets/sec ( 0.057687 ms per packet) with standard deviation of 0.008135 ms qSpeedTest(send=0 , recv=16 ) in 0.058547000 sec for 17080.29 packets/sec ( 0.058547 ms per packet) with standard deviation of 0.005884 ms qSpeedTest(send=0 , recv=32 ) in 0.058289000 sec for 17155.89 packets/sec ( 0.058289 ms per packet) with standard deviation of 0.004057 ms qSpeedTest(send=0 , recv=64 ) in 0.061324000 sec for 16306.83 packets/sec ( 0.061324 ms per packet) with standard deviation of 0.010838 ms qSpeedTest(send=0 , recv=128 ) in 0.065688000 sec for 15223.48 packets/sec ( 0.065688 ms per packet) with standard deviation of 0.006997 ms qSpeedTest(send=0 , recv=256 ) in 0.070621000 sec for 14160.09 packets/sec ( 0.070621 ms per packet) with standard deviation of 0.006188 ms qSpeedTest(send=0 , recv=512 ) in 0.086738000 sec for 11528.97 packets/sec ( 0.086738 ms per packet) with standard deviation of 0.007867 ms qSpeedTest(send=0 , recv=1024 ) in 0.146375000 sec for 6831.77 packets/sec ( 0.146375 ms per packet) with standard deviation of 0.010313 ms qSpeedTest(send=4 , recv=0 ) in 0.057807000 sec for 17298.94 packets/sec ( 0.057807 ms per packet) with standard deviation of 0.009702 ms .... It will then also use various sizes to receive 4MB of data from the GDB server and print out the stats: Testing receiving 4.0MB of data using varying receive packet sizes: qSpeedTest(send=0 , recv=32 ) 131072 packets needed to receive 4.0MB in 7.721290000 sec for 0.518048 MB/sec for 16975.40 packets/sec ( 0.058909 ms per packet) qSpeedTest(send=0 , recv=64 ) 65536 packets needed to receive 4.0MB in 4.029236000 sec for 0.992744 MB/sec for 16265.12 packets/sec ( 0.061481 ms per packet) qSpeedTest(send=0 , recv=128 ) 32768 packets needed to receive 4.0MB in 2.233854000 sec for 1.790627 MB/sec for 14668.82 packets/sec ( 0.068172 ms per packet) qSpeedTest(send=0 , recv=256 ) 16384 packets needed to receive 4.0MB in 1.160024000 sec for 3.448204 MB/sec for 14123.84 packets/sec ( 0.070802 ms per packet) qSpeedTest(send=0 , recv=512 ) 8192 packets needed to receive 4.0MB in 0.701603000 sec for 5.701230 MB/sec for 11676.12 packets/sec ( 0.085645 ms per packet) qSpeedTest(send=0 , recv=1024 ) 4096 packets needed to receive 4.0MB in 0.596786000 sec for 6.702570 MB/sec for 6863.43 packets/sec ( 0.145700 ms per packet) There is a JSON mode so we can use this in the test suite to track GDB server performance for each platform: (lldb) process plugin packet speed-test --json { "packet_speeds" : { "num_packets" : 1000, "results" : [ {"send_size" : 0, "recv_size" : 0, "total_time_nsec" : 64516000, "standard_deviation_nsec" : 20566 }, {"send_size" : 0, "recv_size" : 4, "total_time_nsec" : 59648000, "standard_deviation_nsec" : 10493 }, {"send_size" : 0, "recv_size" : 8, "total_time_nsec" : 56894000, "standard_deviation_nsec" : 5480 }, {"send_size" : 0, "recv_size" : 16, "total_time_nsec" : 59422000, "standard_deviation_nsec" : 6557 }, {"send_size" : 0, "recv_size" : 32, "total_time_nsec" : 61159000, "standard_deviation_nsec" : 12384 }, {"send_size" : 0, "recv_size" : 64, "total_time_nsec" : 61386000, "standard_deviation_nsec" : 9208 }, {"send_size" : 0, "recv_size" : 128, "total_time_nsec" : 64768000, "standard_deviation_nsec" : 4737 }, {"send_size" : 0, "recv_size" : 256, "total_time_nsec" : 71046000, "standard_deviation_nsec" : 5904 }, {"send_size" : 0, "recv_size" : 512, "total_time_nsec" : 87233000, "standard_deviation_nsec" : 8967 }, {"send_size" : 0, "recv_size" : 1024, "total_time_nsec" : 146629000, "standard_deviation_nsec" : 9526 }, {"send_size" : 4, "recv_size" : 0, "total_time_nsec" : 57131000, "standard_deviation_nsec" : 7884 }, {"send_size" : 4, "recv_size" : 4, "total_time_nsec" : 56772000, "standard_deviation_nsec" : 6064 }, {"send_size" : 4, "recv_size" : 8, "total_time_nsec" : 57450000, "standard_deviation_nsec" : 6341 }, {"send_size" : 4, "recv_size" : 16, "total_time_nsec" : 58279000, "standard_deviation_nsec" : 5998 }, {"send_size" : 4, "recv_size" : 32, "total_time_nsec" : 59995000, "standard_deviation_nsec" : 6294 }, {"send_size" : 4, "recv_size" : 64, "total_time_nsec" : 61632000, "standard_deviation_nsec" : 7838 }, {"send_size" : 4, "recv_size" : 128, "total_time_nsec" : 66535000, "standard_deviation_nsec" : 8026 }, {"send_size" : 4, "recv_size" : 256, "total_time_nsec" : 72754000, "standard_deviation_nsec" : 9519 }, {"send_size" : 4, "recv_size" : 512, "total_time_nsec" : 87072000, "standard_deviation_nsec" : 9268 }, {"send_size" : 4, "recv_size" : 1024, "total_time_nsec" : 147221000, "standard_deviation_nsec" : 9702 }, {"send_size" : 8, "recv_size" : 0, "total_time_nsec" : 57900000, "standard_deviation_nsec" : 7356 }, {"send_size" : 8, "recv_size" : 4, "total_time_nsec" : 58116000, "standard_deviation_nsec" : 7630 }, {"send_size" : 8, "recv_size" : 8, "total_time_nsec" : 57745000, "standard_deviation_nsec" : 8541 }, {"send_size" : 8, "recv_size" : 16, "total_time_nsec" : 59091000, "standard_deviation_nsec" : 7851 }, {"send_size" : 8, "recv_size" : 32, "total_time_nsec" : 59943000, "standard_deviation_nsec" : 6761 }, {"send_size" : 8, "recv_size" : 64, "total_time_nsec" : 62097000, "standard_deviation_nsec" : 8580 }, {"send_size" : 8, "recv_size" : 128, "total_time_nsec" : 69942000, "standard_deviation_nsec" : 16645 }, {"send_size" : 8, "recv_size" : 256, "total_time_nsec" : 72927000, "standard_deviation_nsec" : 11031 }, {"send_size" : 8, "recv_size" : 512, "total_time_nsec" : 87221000, "standard_deviation_nsec" : 8002 }, {"send_size" : 8, "recv_size" : 1024, "total_time_nsec" : 148696000, "standard_deviation_nsec" : 10383 }, {"send_size" : 16, "recv_size" : 0, "total_time_nsec" : 59890000, "standard_deviation_nsec" : 15160 }, {"send_size" : 16, "recv_size" : 4, "total_time_nsec" : 56664000, "standard_deviation_nsec" : 4650 }, {"send_size" : 16, "recv_size" : 8, "total_time_nsec" : 57574000, "standard_deviation_nsec" : 7787 }, {"send_size" : 16, "recv_size" : 16, "total_time_nsec" : 59312000, "standard_deviation_nsec" : 8104 }, {"send_size" : 16, "recv_size" : 32, "total_time_nsec" : 59764000, "standard_deviation_nsec" : 7496 }, {"send_size" : 16, "recv_size" : 64, "total_time_nsec" : 61644000, "standard_deviation_nsec" : 8331 }, {"send_size" : 16, "recv_size" : 128, "total_time_nsec" : 66476000, "standard_deviation_nsec" : 9251 }, {"send_size" : 16, "recv_size" : 256, "total_time_nsec" : 72386000, "standard_deviation_nsec" : 8627 }, {"send_size" : 16, "recv_size" : 512, "total_time_nsec" : 87810000, "standard_deviation_nsec" : 12318 }, {"send_size" : 16, "recv_size" : 1024, "total_time_nsec" : 146918000, "standard_deviation_nsec" : 11595 }, {"send_size" : 32, "recv_size" : 0, "total_time_nsec" : 56493000, "standard_deviation_nsec" : 6577 }, {"send_size" : 32, "recv_size" : 4, "total_time_nsec" : 57069000, "standard_deviation_nsec" : 5931 }, {"send_size" : 32, "recv_size" : 8, "total_time_nsec" : 57563000, "standard_deviation_nsec" : 8157 }, {"send_size" : 32, "recv_size" : 16, "total_time_nsec" : 59694000, "standard_deviation_nsec" : 6932 }, {"send_size" : 32, "recv_size" : 32, "total_time_nsec" : 60852000, "standard_deviation_nsec" : 8010 }, {"send_size" : 32, "recv_size" : 64, "total_time_nsec" : 61926000, "standard_deviation_nsec" : 8372 }, {"send_size" : 32, "recv_size" : 128, "total_time_nsec" : 66734000, "standard_deviation_nsec" : 8047 }, {"send_size" : 32, "recv_size" : 256, "total_time_nsec" : 72000000, "standard_deviation_nsec" : 8103 }, {"send_size" : 32, "recv_size" : 512, "total_time_nsec" : 88268000, "standard_deviation_nsec" : 12289 }, {"send_size" : 32, "recv_size" : 1024, "total_time_nsec" : 147946000, "standard_deviation_nsec" : 12122 }, {"send_size" : 64, "recv_size" : 0, "total_time_nsec" : 58126000, "standard_deviation_nsec" : 5895 }, {"send_size" : 64, "recv_size" : 4, "total_time_nsec" : 58927000, "standard_deviation_nsec" : 8933 }, {"send_size" : 64, "recv_size" : 8, "total_time_nsec" : 58163000, "standard_deviation_nsec" : 6663 }, {"send_size" : 64, "recv_size" : 16, "total_time_nsec" : 59901000, "standard_deviation_nsec" : 8340 }, {"send_size" : 64, "recv_size" : 32, "total_time_nsec" : 60365000, "standard_deviation_nsec" : 6319 }, {"send_size" : 64, "recv_size" : 64, "total_time_nsec" : 61776000, "standard_deviation_nsec" : 7461 }, {"send_size" : 64, "recv_size" : 128, "total_time_nsec" : 66984000, "standard_deviation_nsec" : 6810 }, {"send_size" : 64, "recv_size" : 256, "total_time_nsec" : 73913000, "standard_deviation_nsec" : 8826 }, {"send_size" : 64, "recv_size" : 512, "total_time_nsec" : 88134000, "standard_deviation_nsec" : 8356 }, {"send_size" : 64, "recv_size" : 1024, "total_time_nsec" : 146932000, "standard_deviation_nsec" : 7571 }, {"send_size" : 128, "recv_size" : 0, "total_time_nsec" : 57616000, "standard_deviation_nsec" : 6158 }, {"send_size" : 128, "recv_size" : 4, "total_time_nsec" : 59091000, "standard_deviation_nsec" : 7458 }, {"send_size" : 128, "recv_size" : 8, "total_time_nsec" : 60263000, "standard_deviation_nsec" : 11999 }, {"send_size" : 128, "recv_size" : 16, "total_time_nsec" : 59238000, "standard_deviation_nsec" : 6102 }, {"send_size" : 128, "recv_size" : 32, "total_time_nsec" : 60783000, "standard_deviation_nsec" : 6244 }, {"send_size" : 128, "recv_size" : 64, "total_time_nsec" : 62975000, "standard_deviation_nsec" : 8947 }, {"send_size" : 128, "recv_size" : 128, "total_time_nsec" : 65742000, "standard_deviation_nsec" : 5907 }, {"send_size" : 128, "recv_size" : 256, "total_time_nsec" : 72402000, "standard_deviation_nsec" : 6601 }, {"send_size" : 128, "recv_size" : 512, "total_time_nsec" : 87457000, "standard_deviation_nsec" : 9004 }, {"send_size" : 128, "recv_size" : 1024, "total_time_nsec" : 148412000, "standard_deviation_nsec" : 10532 }, {"send_size" : 256, "recv_size" : 0, "total_time_nsec" : 58705000, "standard_deviation_nsec" : 7274 }, {"send_size" : 256, "recv_size" : 4, "total_time_nsec" : 58818000, "standard_deviation_nsec" : 5453 }, {"send_size" : 256, "recv_size" : 8, "total_time_nsec" : 59451000, "standard_deviation_nsec" : 6926 }, {"send_size" : 256, "recv_size" : 16, "total_time_nsec" : 60237000, "standard_deviation_nsec" : 5781 }, {"send_size" : 256, "recv_size" : 32, "total_time_nsec" : 61456000, "standard_deviation_nsec" : 5591 }, {"send_size" : 256, "recv_size" : 64, "total_time_nsec" : 62615000, "standard_deviation_nsec" : 7588 }, {"send_size" : 256, "recv_size" : 128, "total_time_nsec" : 68554000, "standard_deviation_nsec" : 7766 }, {"send_size" : 256, "recv_size" : 256, "total_time_nsec" : 74557000, "standard_deviation_nsec" : 8748 }, {"send_size" : 256, "recv_size" : 512, "total_time_nsec" : 87929000, "standard_deviation_nsec" : 9510 }, {"send_size" : 256, "recv_size" : 1024, "total_time_nsec" : 148522000, "standard_deviation_nsec" : 11394 }, {"send_size" : 512, "recv_size" : 0, "total_time_nsec" : 59697000, "standard_deviation_nsec" : 7825 }, {"send_size" : 512, "recv_size" : 4, "total_time_nsec" : 59427000, "standard_deviation_nsec" : 5706 }, {"send_size" : 512, "recv_size" : 8, "total_time_nsec" : 59538000, "standard_deviation_nsec" : 6863 }, {"send_size" : 512, "recv_size" : 16, "total_time_nsec" : 61139000, "standard_deviation_nsec" : 7645 }, {"send_size" : 512, "recv_size" : 32, "total_time_nsec" : 62203000, "standard_deviation_nsec" : 7985 }, {"send_size" : 512, "recv_size" : 64, "total_time_nsec" : 62577000, "standard_deviation_nsec" : 8118 }, {"send_size" : 512, "recv_size" : 128, "total_time_nsec" : 68722000, "standard_deviation_nsec" : 10581 }, {"send_size" : 512, "recv_size" : 256, "total_time_nsec" : 74290000, "standard_deviation_nsec" : 8931 }, {"send_size" : 512, "recv_size" : 512, "total_time_nsec" : 88635000, "standard_deviation_nsec" : 7771 }, {"send_size" : 512, "recv_size" : 1024, "total_time_nsec" : 149589000, "standard_deviation_nsec" : 11456 }, {"send_size" : 1024, "recv_size" : 0, "total_time_nsec" : 63243000, "standard_deviation_nsec" : 6331 }, {"send_size" : 1024, "recv_size" : 4, "total_time_nsec" : 64381000, "standard_deviation_nsec" : 8372 }, {"send_size" : 1024, "recv_size" : 8, "total_time_nsec" : 63481000, "standard_deviation_nsec" : 5608 }, {"send_size" : 1024, "recv_size" : 16, "total_time_nsec" : 65549000, "standard_deviation_nsec" : 8826 }, {"send_size" : 1024, "recv_size" : 32, "total_time_nsec" : 65485000, "standard_deviation_nsec" : 6822 }, {"send_size" : 1024, "recv_size" : 64, "total_time_nsec" : 67125000, "standard_deviation_nsec" : 9829 }, {"send_size" : 1024, "recv_size" : 128, "total_time_nsec" : 72680000, "standard_deviation_nsec" : 7641 }, {"send_size" : 1024, "recv_size" : 256, "total_time_nsec" : 79206000, "standard_deviation_nsec" : 9854 }, {"send_size" : 1024, "recv_size" : 512, "total_time_nsec" : 92418000, "standard_deviation_nsec" : 9107 }, {"send_size" : 1024, "recv_size" : 1024, "total_time_nsec" : 152392000, "standard_deviation_nsec" : 11124 } ] }, "download_speed" : { "byte_size" : 4194304, "results" : [ {"send_size" : 0, "recv_size" : 32, "total_time_nsec" : 7735630000 }, {"send_size" : 0, "recv_size" : 64, "total_time_nsec" : 3985169000 }, {"send_size" : 0, "recv_size" : 128, "total_time_nsec" : 2128791000 }, {"send_size" : 0, "recv_size" : 256, "total_time_nsec" : 1172077000 }, {"send_size" : 0, "recv_size" : 512, "total_time_nsec" : 703833000 }, {"send_size" : 0, "recv_size" : 1024, "total_time_nsec" : 594966000 } ] } } llvm-svn: 237953 | |||||
* | A previous patch made it so that ValueObjects could update themselves even ↵ | Enrico Granata | 2015-05-19 | 1 | -0/+8 | |
| | | | | | | | | | | | in the face of an invalid execution context (which was required for the dynamic and synthetic values of const objects) It turns out, child values also need similar provisions This patch simplifies things a bit allowing ValueObject subclasses to just declare whether they can accept an invalid context at update time, and letting the update machinery in the EvaluationPoint to the rest Also, this lets ValueObjectChild proclaim that its parent chooses whether such blank-slate updates are possible llvm-svn: 237714 | |||||
* | Add --move-to-nearest-code / target.move-to-nearest-code options (attempt 2) | Ilia K | 2015-05-18 | 1 | -2/+4 | |
| | | | | | | | | | | | | This patch initially was committed in r237460 but later it was reverted (r237479) due to 4 new failures: * TestExitDuringStep.py * TestNumThreads.py * TestThreadExit.py * TestThreadStates.py This patch also fixes these tests. llvm-svn: 237566 | |||||
* | Constant result ValueObjects are - well - constant | Enrico Granata | 2015-05-16 | 1 | -19/+21 | |
| | | | | | | | | | | And they also do not have a thread/frame attached to them That makes dynamic and synthetic values attached to them impossible to update - which, among other things, makes it impossible to properly display persistent variables of types that could have such dynamic/persistent values Fix this by making it so that a ValueObject can control its constantness (hint: dynamic and synthetic values cannot be constant) and whether it wants to let itself be updated when an invalid thread is around llvm-svn: 237504 | |||||
* | Reverting r237460 to fix test failures introduced on OSX & Linux | Vince Harron | 2015-05-15 | 1 | -4/+2 | |
| | | | | | | | | | TestExitDuringStep.py TestNumThreads.py TestThreadExit.py TestThreadStates.py llvm-svn: 237479 | |||||
* | Add --move-to-nearest-code / target.move-to-nearest-code options | Ilia K | 2015-05-15 | 1 | -2/+4 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This option forces to only set a source line breakpoint when there is an exact-match This patch includes the following commits: # Add the -m/--exact-match option in "breakpoint set" command ## Add exact_match arg in BreakpointResolverFileLine ctor ## Add m_exact_match field in BreakpointResolverFileLine ## Add exact_match arg in BreakpointResolverFileRegex ctor ## Add m_exact_match field in BreakpointResolverFileRegex ## Add exact_match arg in Target::CreateSourceRegexBreakpoint ## Add exact_match arg in Target::CreateBreakpoint ## Add -m/--exact-match option in "breakpoint set" command # Add target.exact-match option to skip BP if source line doesn't match ## Add target.exact-match global option ## Add Target::GetExactMatch ## Refactor Target::CreateSourceRegexBreakpoint to accept LazyBool exact_match (was bool) ## Refactor Target::CreateBreakpoint to accept LazyBool exact_match (was bool) # Add target.exact-match test in SettingsCommandTestCase # Add BreakpointOptionsTestCase tests to test --skip-prologue/--exact-match options # Fix a few typos in lldbutil.check_breakpoint_result func # Rename --exact-match/m_exact_match/exact_match/GetExactMatch to --move-to-nearest-code/m_move_to_nearest_code/move_to_nearest_code/GetMoveToNearestCode # Add exact_match field in BreakpointResolverFileLine::GetDescription and BreakpointResolverFileRegex::GetDescription, for example: was: ``` 1: file = '/Users/IliaK/p/llvm/tools/lldb/test/functionalities/breakpoint/breakpoint_command/main.c', line = 12, locations = 1, resolved = 1, hit count = 2 1.1: where = a.out`main + 20 at main.c:12, address = 0x0000000100000eb4, resolved, hit count = 2 ``` now: ``` 1: file = '/Users/IliaK/p/llvm/tools/lldb/test/functionalities/breakpoint/breakpoint_command/main.c', line = 12, exact_match = 0, locations = 1, resolved = 1, hit count = 2 1.1: where = a.out`main + 20 at main.c:12, address = 0x0000000100000eb4, resolved, hit count = 2 ``` Test Plan: ./dotest.py -v --executable $BUILDDIR/bin/lldb functionalities/breakpoint/ ./dotest.py -v --executable $BUILDDIR/bin/lldb settings/ ./dotest.py -v --executable $BUILDDIR/bin/lldb tools/lldb-mi/breakpoint/ Reviewers: jingham, clayborg Reviewed By: clayborg Subscribers: lldb-commits, clayborg, jingham Differential Revision: http://reviews.llvm.org/D9273 llvm-svn: 237460 | |||||
* | Fixed a ton of gcc compile warnings | Vince Harron | 2015-05-13 | 3 | -10/+8 | |
| | | | | | | | | | | Removed some unused variables, added some consts, changed some casts to const_cast. I don't think any of these changes are very controversial. Differential Revision: http://reviews.llvm.org/D9674 llvm-svn: 237218 | |||||
* | Add Hexagon packet support to ThreadPlanStepRange | Ted Woodward | 2015-05-11 | 1 | -2/+49 | |
| | | | | | | | | | | | | | | | | | Summary: Hexagon is a VLIW processor. It can execute multiple instructions at once, called a packet. Breakpoints need to be alone in a packet. This patch will make sure that temporary breakpoints used for stepping are set at the start of a packet, which will put the breakpoint in a packet by itself. Patch by Deepak Panickal of CodePlay and Ted Woodward of Qualcomm. Reviewers: deepak2427, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9437 llvm-svn: 237047 | |||||
* | Enable thread-safe logging. | Zachary Turner | 2015-05-08 | 1 | -8/+16 | |
| | | | | | | | | | | | | | Thread-safe logging had been disabled because of a deadlock, possibly due to a lock acquired during a signal handler. This patch turns thread safe logging back on and also greatly reduces the scope of the lock, confining it only to the code that affects the underlying output stream, instead of all the code that builds up the formatted log message. this should resolve the issue surrounding the deadlock. llvm-svn: 236892 | |||||
* | Add logging to ProcessWindows. | Zachary Turner | 2015-05-07 | 1 | -2/+10 | |
| | | | | llvm-svn: 236776 | |||||
* | Make it so that changing formats on a synthetic value object causes children ↵ | Enrico Granata | 2015-05-07 | 1 | -0/+12 | |
| | | | | | | | | to be invalidated and refetched when needed This is required for supporting vector types formatting llvm-svn: 236769 | |||||
* | [ValueObject::GetPointeeData] Get addr from value for eValueHostAddress values. | Siva Chandra | 2015-05-05 | 1 | -0/+8 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: After r236447, ValueObject::GetAddressOf returns LLDB_INVALID_ADDRESS when the value type is eValueHostAddress. For such a case, clients of GetAddressOf should get the address from the scalar part of the value instead of using the value returned by GetAddressOf directly. This change also makes ValueObject::GetAddressOf set the address type to eAddressTypeHost for values of eValueHostAddress so that clients can recognize that they need to fetch the address from the scalar part of the value. Test Plan: ninja check-lldb on linux Reviewers: clayborg, ovyalov Reviewed By: ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9490 llvm-svn: 236473 | |||||
* | [ValueObject] Do not return address of eValueTypeHostAddress values. | Siva Chandra | 2015-05-04 | 1 | -3/+5 | |
| | | | | | | | | | | | | | | | | | | Summary: This fixes TestRegisterVariables for clang and hence it is enabled in this commit. Test Plan: dotest.py -C clang -p TestRegisterVariables Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9421 llvm-svn: 236447 | |||||
* | Add language command and LanguageRuntime plugin changes to allow vending of ↵ | Colin Riley | 2015-05-04 | 1 | -1/+14 | |
| | | | | | | | | command objects. Differential Revision: http://reviews.llvm.org/D9402 llvm-svn: 236443 | |||||
* | Guard against the case where the Write method is called with | Jason Molenda | 2015-04-30 | 1 | -2/+11 | |
| | | | | | | | | | | | an argument pointing into the middle of m_buffer and then Write() calls GrowBuffer() to resize m_buffer, leaving the content argument pointing into deallocated memory. Patch by Kate Stone. <rdar://problem/20756722> llvm-svn: 236286 | |||||
* | Remove the NullLog class introduced in r236174. | Zachary Turner | 2015-04-30 | 2 | -75/+0 | |
| | | | | | | | | | | | | | Based on list discussions, a different approach is desired for reducing the visual impact of logging statements on the readability of the code. Another mechanism will be added in a followup patch, but for now, since NullLog is unreferenced, this patch just removes it. This patch does *not* remove the other half of r236174, which was to delete some dead code surrounding logging flags. llvm-svn: 236259 | |||||
* | Fix typo in Core/Log | Pavel Labath | 2015-04-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 236222 | |||||
* | Fix build broken by r236174. | Zachary Turner | 2015-04-29 | 1 | -4/+4 | |
| | | | | | | Apparently va_list is literally a char* on Windows. llvm-svn: 236177 | |||||
* | Introduce a NullLog class, which ignores all messages. | Zachary Turner | 2015-04-29 | 3 | -115/+168 | |
| | | | | | | | | | | | | | | | | The purpose of this class is so that GetLogIfAllCategoriesSet can always return an instance of some class, whether it be a real logging class or a "null" class, which ignores messages. Code that is littered with if statements that only log if the pointer is non-null can get very unwieldy very quickly, so this should help code readability in such circumstances. Since I'm in this code anyway, I'm also deleting the PrintfWithFlags methods, as well as all the flags, since they appear to be dead code that have been superceded by newer mechanisms and all the flags are simply ignored. llvm-svn: 236174 | |||||
* | Don't print a type of variable in Address::Dump if it's unknown (i.e. nullptr) | Ilia K | 2015-04-28 | 1 | -3/+8 | |
| | | | | | | | | | | | | | | Summary: This patch fixes dereferencing of nullptr in case when GetType() returns that. Reviewers: jingham, granata.enrico, clayborg Reviewed By: clayborg Subscribers: lldb-commits, granata.enrico, clayborg, jingham Differential Revision: http://reviews.llvm.org/D9274 llvm-svn: 235982 | |||||
* | [LLDB][MIPS] Add MIPS32 and MIPS64 core revisions | Mohit K. Bhakkad | 2015-04-23 | 1 | -4/+35 | |
| | | | | | | | | | | | | | | | Patch by Jaydeep Patil Added MIPS32 and MIPS64 core revisions. This would be followed by register context and emulate-instruction for MIPS32. DYLDRendezvous.cpp: On Linux link map struct does not contain extra load offset field. Reviewers: clayborg Subscribers: bhushan, mohit.bhakkad, sagar, lldb-commits. Differential Revision: http://reviews.llvm.org/D9190 llvm-svn: 235574 | |||||
* | Stop read thread of Communication on EOF | Tamas Berghammer | 2015-04-20 | 1 | -4/+4 | |
| | | | | | | | | | | | | Previously the read thread was only stopped if CloseOnEOF was set on the communication channel. It caused it to spin in case of an EOF because ::select() always reported that we can read from the file descriptor. This CL change this behavior with stopping the read thread on EOF but do a disconnect only if CloseOnEOF is enabled. Differential revision: http://reviews.llvm.org/D9077 llvm-svn: 235291 | |||||
* | Add a "force_kill" arg to Process::Destroy(). This is needed after | Jason Molenda | 2015-04-17 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | | | | | the changes in r233255/r233258. Normally if lldb attaches to a running process, when we call Process::Destroy, we want to detach from the process. If lldb launched the process itself, ::Destroy should kill it. However, if we attach to a process and the driver calls SBProcess::Kill() (which calls Destroy), we need to kill it even if we didn't launch it originally. The force_kill param allows for the SBProcess::Kill method to force the behavior of Destroy. <rdar://problem/20424439> llvm-svn: 235158 | |||||
* | Remove unneeded include. | Jason Molenda | 2015-04-14 | 1 | -4/+0 | |
| | | | | llvm-svn: 234945 | |||||
* | Remove unused functions that were causing warnings. | Greg Clayton | 2015-04-14 | 1 | -15/+0 | |
| | | | | llvm-svn: 234940 | |||||
* | Allow the variable view to get synthetic values if they are available in ↵ | Greg Clayton | 2015-04-10 | 1 | -1/+13 | |
| | | | | | | "gui" mode. llvm-svn: 234642 | |||||
* | Cleanup virtual methods and mark them as "override" and remove "virtual". | Greg Clayton | 2015-04-10 | 1 | -90/+95 | |
| | | | | | | Also fixed an issue with the GUI mode where tree items wouldn't be notified that they were selected. Now selecting a thread or stack frame in the Threads view will update all windows (source, variables, registers). llvm-svn: 234640 | |||||
* | Fix Debugger::HandleProcessEvent in case when ProcessIOHandler doesn't exist | Ilia K | 2015-04-09 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously the Debugger::HandleProcessEvent hid a top IOHandler if the process's IOHandler was inactive and later refreshed it. Usually the IOHandler.Refresh() prints the (lldb) prompt. The problem was in case of iOS remote platform when trying to execute 'command source' command. On this platform the process's IOHandler is empty, therefore the Debugger::HandleProcessEvent hid a top IOHandler and later refreshed it. So that the (lldb) prompt was printed with a program output in mixed order: was: ``` longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong longlonglonglonglonglonglonglonglonglonglonglonglonglonglon(lldb) glonglonglonglonglonglonglonglonglonglonglonglong string ``` now: ``` longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong longlonglonglonglonglonglonglonglong string ``` Reviewers: zturner, jingham, clayborg Reviewed By: clayborg Subscribers: lldb-commits, jingham, zturner, clayborg Differential Revision: http://reviews.llvm.org/D8929 llvm-svn: 234517 | |||||
* | Fix -Wformat-pedantic warnings | David Blaikie | 2015-04-08 | 1 | -3/+6 | |
| | | | | llvm-svn: 234429 | |||||
* | Rework LLDB system initialization. | Zachary Turner | 2015-03-31 | 1 | -30/+17 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In an effort to reduce binary size for components not wishing to link against all of LLDB, as well as a parallel effort to reduce link dependencies on Python, this patch splits out the notion of LLDB initialization into "full" and "common" initialization. All code related to initializing the full LLDB suite lives directly in API now. Previously it was only referenced from API, but because it was defined in lldbCore, it would get implicitly linked against by everything including lldb-server, causing a considerable increase in binary size. By moving this to the API layer, it also creates a better layering for the ongoing effort to make the embedded interpreter replacable with one from a different language (or even be completely removeable). One semantic change necessary to get this all working was to remove the notion of a shared debugger refcount. The debugger is either initialized or uninitialized now, and calling Initialize() multiple times will simply have no effect, while the first Terminate() will now shut it down no matter how many times Initialize() was called. This behaves nicely with all of our supported usage patterns though, and allows us to fix a number of nasty hacks from before. Differential Revision: http://reviews.llvm.org/D8462 llvm-svn: 233758 |