- May 25, 2011
-
-
Johnny Chen authored
method definition before other method definitions. Instead, do without it and process the class with IsValid() method definition in all possible states. llvm-svn: 132016
-
- May 24, 2011
-
-
Johnny Chen authored
llvm-svn: 132002
-
Johnny Chen authored
llvm-svn: 131998
-
Jim Ingham authored
llvm-svn: 131984
-
Johnny Chen authored
those lldb objects which implement the IsValid() method, let's change the rest of the test suite to use the more compact truth value testing pattern (the Python way). llvm-svn: 131970
-
Charles Davis authored
llvm-svn: 131949
-
Johnny Chen authored
a new file static utility function AddSymbolicInfo() which is called from places within InstructionLLVM::Dump(). llvm-svn: 131937
-
Greg Clayton authored
can end up with an invalid path if the path resolves to something different on the local machine. It is very important not to since remote debugging will mention paths that might exist on the current machine (like "/System/Library/Frameworks/CoreFoundation/CoreFoundation" which on the desktop systems is a symlink to "/System/Library/Frameworks/CoreFoundation/Versions/A/CoreFoundation"). We will let the platform plug-ins resolve the paths in a later stage. llvm-svn: 131934
-
- May 23, 2011
-
-
Johnny Chen authored
llvm-svn: 131925
-
Johnny Chen authored
Add a Python utility to help convert the Mail.app saved 'Raw Message Source' .eml file to a git-am friendly file. llvm-svn: 131924
-
Sean Callanan authored
into the mainline LLDB codebase. MCJIT introduces API improvements and better architectural support. This commit adds a new subsystem, the ProcessDataAllocator, which is responsible for performing static data allocations on behalf of the IR transformer. MCJIT currently does not support the relocations required to store the constant pool in the same allocation as the function body, so we allocate a heap region separately and redirect static data references from the expression to that heap region in a new IR modification pass. This patch also fixes bugs in the IR transformations that were exposed by the transition to the MCJIT. Finally, the patch also pulls in a more recent revision of LLVM so that the MCJIT is available for use. llvm-svn: 131923
-
Greg Clayton authored
lldb module. llvm-svn: 131914
-
Johnny Chen authored
the (PC-relative) immediate operand. llvm-svn: 131913
-
Greg Clayton authored
parse NOP instructions. I added the new table entries for the NOP for the plain NOP, Yield, WFE, WFI, and SEV variants. Modified the opcode emulation function EmulateInstructionARM::EmulateMOVRdSP(...) to notify us when it is creating a frame. Also added an abtract way to detect the frame pointer register for both the standard ARM ABI and for Darwin. Fixed GDBRemoteRegisterContext::WriteAllRegisterValues(...) to correctly be able to individually write register values back if case the 'G' packet is not implemented or returns an error. Modified the StopInfoMachException to "trace" stop reasons. On ARM we currently use the BVR/BCR register pairs to say "stop when the PC is not equal to the current PC value", and this results in a EXC_BREAKPOINT mach exception that has 0x102 in the code. Modified debugserver to create the short option string from long option definitions to make sure it doesn't get out of date. The short option string was missing many of the newer short option values due to a modification of the long options defs, and not modifying the short option string. llvm-svn: 131911
-
Johnny Chen authored
so that both the opcode and the operands are aligned with the rest of output. Comment out the code related to force_raw mode when disassembling arm or thumb for now. It testing goes ok, we will remove the section of code related to force_raw. llvm-svn: 131910
-
Greg Clayton authored
of duplicated code from appearing all over LLDB: lldb::addr_t Process::ReadPointerFromMemory (lldb::addr_t vm_addr, Error &error); bool Process::WritePointerToMemory (lldb::addr_t vm_addr, lldb::addr_t ptr_value, Error &error); size_t Process::ReadScalarIntegerFromMemory (lldb::addr_t addr, uint32_t byte_size, bool is_signed, Scalar &scalar, Error &error); size_t Process::WriteScalarToMemory (lldb::addr_t vm_addr, const Scalar &scalar, uint32_t size, Error &error); in lldb_private::Process the following functions were renamed: From: uint64_t Process::ReadUnsignedInteger (lldb::addr_t load_addr, size_t byte_size, Error &error); To: uint64_t Process::ReadUnsignedIntegerFromMemory (lldb::addr_t load_addr, size_t byte_size, uint64_t fail_value, Error &error); Cleaned up a lot of code that was manually doing what the above functions do to use the functions listed above. Added the ability to get a scalar value as a buffer that can be written down to a process (byte swapping the Scalar value if needed): uint32_t Scalar::GetAsMemoryData (void *dst, uint32_t dst_len, lldb::ByteOrder dst_byte_order, Error &error) const; The "dst_len" can be smaller that the size of the scalar and the least significant bytes will be written. "dst_len" can also be larger and the most significant bytes will be padded with zeroes. Centralized the code that adds or removes address bits for callable and opcode addresses into lldb_private::Target: lldb::addr_t Target::GetCallableLoadAddress (lldb::addr_t load_addr, AddressClass addr_class) const; lldb::addr_t Target::GetOpcodeLoadAddress (lldb::addr_t load_addr, AddressClass addr_class) const; All necessary lldb_private::Address functions now use the target versions so changes should only need to happen in one place if anything needs updating. Fixed up a lot of places that were calling : addr_t Address::GetLoadAddress(Target*); to call the Address::GetCallableLoadAddress() or Address::GetOpcodeLoadAddress() as needed. There were many places in the breakpoint code where things could go wrong for ARM if these weren't used. llvm-svn: 131878
-
- May 22, 2011
-
-
Jim Ingham authored
action the second time the event is removed (the first is the internal -> external transition, the second when it is pulled off the public event queue, and further times when it is put back because we are faking a stop reason to hide the expression evaluation stops. llvm-svn: 131869
-
Caroline Tice authored
Change the command 'breakpoint command remove' to 'breakpoint command delete', to be more consistent with other commands. llvm-svn: 131848
-
Greg Clayton authored
and set the address as an opcode address or as a callable address. This is needed in various places in the thread plans to make sure that addresses that might be found in symbols or runtime might already have extra bits set (ARM/Thumb). The new functions are: bool Address::SetCallableLoadAddress (lldb::addr_t load_addr, Target *target); bool Address::SetOpcodeLoadAddress (lldb::addr_t load_addr, Target *target); SetCallableLoadAddress will initialize a section offset address if it can, and if so it might possibly set some bits in the address to make the address callable (bit zero might get set for ARM for Thumb functions). SetOpcodeLoadAddress will initialize a section offset address using the specified target and it will strip any special address bits if needed depending on the target. Fixed the ABIMacOSX_arm::GetArgumentValues() function to require arguments 1-4 to be in the needed registers (previously this would incorrectly fallback to the stack) and return false if unable to get the register values. The function was also modified to first look for the generic argument registers and then fall back to finding the registers by name. Fixed the objective trampoline handler to use the new Address::SetOpcodeLoadAddress function when needed to avoid address mismatches when trying to complete steps into objective C methods. Make similar fixes inside the AppleThreadPlanStepThroughObjCTrampoline::ShouldStop() function. Modified ProcessGDBRemote::BuildDynamicRegisterInfo(...) to be able to deal with the new generic argument registers. Modified RNBRemote::HandlePacket_qRegisterInfo() to handle the new generic argument registers on the debugserver side. Modified DNBArchMachARM::NumSupportedHardwareBreakpoints() to be able to detect how many hardware breakpoint registers there are using a darwin sysctl. Did the same for hardware watchpoints in DNBArchMachARM::NumSupportedHardwareWatchpoints(). llvm-svn: 131834
-
- May 21, 2011
-
-
Johnny Chen authored
llvm-svn: 131779
-
Johnny Chen authored
the raw disassembly so that the opcode aligns with the edis'ed disassembly. llvm-svn: 131773
-
Greg Clayton authored
contains a valid pointer before trying to access the target. llvm-svn: 131771
-
Greg Clayton authored
server so that it happens in command sequence where no other packets can sneak between. llvm-svn: 131769
-
Peter Collingbourne authored
llvm-svn: 131766
-
Greg Clayton authored
calls with the target API mutex. llvm-svn: 131762
-
- May 20, 2011
-
-
Charles Davis authored
llvm-svn: 131742
-
Charles Davis authored
installed liblldb instead of the built one. Now Python support won't break if you clean your build directories. llvm-svn: 131741
-
Johnny Chen authored
a branch instruction and therefore the symbolic information is not being dumped for non-raw mode. The problem is that the ARMAsmParser is not recognizing the "#274" in "b #274" as a valid operand when doing disassembly in non-raw mode. llvm-svn: 131738
-
Stephen Wilson authored
In DWARFCompileUnit::ExtractDIEsIfNeeded we are relying on a compilation units DIEs to be terminated by a null entry. I think the standard is fairly clear that all sibling chains are to be terminated by null, but at least gcc 4.5.2 disagrees -- the top level chain drops the final entry. This results in us interpreting the next compilation unit header as a DIE. Regardless of whether gcc is right or wrong, we should not overstep a compilation units extent. This patch ensures that we do not attempt to extract a DIE beyond the length specified for a given DWARFCompileUnit by ensuring our current offset is strictly less than the start of the next CU. llvm-svn: 131721
-
Charles Davis authored
llvm-svn: 131720
-
Charles Davis authored
- Make the generation of LLDBWrapPython.cpp respect the VERBOSE setting. - Use -classic mode when generating. LLDPWrapPython.cpp #errors out if -classic wasn't set when it was generated with recent Swig. - Install the Python modules. Now we shouldn't get loads of Python errors trying to run LLDB. Last of my build fixes. The LLDB that I built works, except that I can't debug anything with it until debugserver gets built. llvm-svn: 131719
-
Charles Davis authored
llvm-svn: 131718
-
Greg Clayton authored
the "payload_length" argument for the "payload" packet data. This meant we could end up sending random extra data with a packet depending on how the packet was constructed. Fixed GDBRemoteRegisterContext to properly save and restore all registers. Previous fixes had been added to work around the "payload_length" issues fixed above and aren't needed anymore. Fix logging in GDBRemoteCommunication to make sure we log the correct packet data being sent by using the packet length when dumping the packet contents. Added register definitions for 'arm-lldb' in the "disasm-gdb-remote.pl" script so if you have a register dump from the GDB remote that doesn't include the qRegisterInfo packets, you can manually tell the script which registers are which. llvm-svn: 131715
-
Greg Clayton authored
packet output from "log enable gdb-remote packets". This should help people track down and see what is going wrong more easily when you have log output that includes GDB remote packets. llvm-svn: 131713
-
Charles Davis authored
breaks it for you (or if the LanguageRuntime plugins break the build on your machine), please let me know and I'll revert. Also, link to CoreServices and Carbon on Mac. Yep, LLDB needs these ancient frameworks. llvm-svn: 131707
-
Charles Davis authored
Mac OS X Process plugin from the build. I'm surprised no one caught this earlier. Am I the only one who builds with the makefiles on Mac? llvm-svn: 131704
-
Charles Davis authored
llvm-svn: 131699
-
Charles Davis authored
llvm-svn: 131698
-
Johnny Chen authored
Replace python static settings of compiler flags with invocation of python-config. Signed-off-by:
Johnny Chen <johnny.chen@apple.com> llvm-svn: 131697
-
Johnny Chen authored
Removed ifdeffed out functions and added the implementation of WriteRegister for x86_64 architecture. Signed-off-by:
Johnny Chen <johnny.chen@apple.com> llvm-svn: 131696
-