Page MenuHomePhabricator

omjavaid (Muhammad Omair Javaid)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 13 2015, 4:38 PM (318 w, 4 d)

Recent Activity

Thu, Apr 15

omjavaid added a comment to D100515: [lldb] Add GetCodeAddressMask and GetDataAddressMask to Process.

Thanks Jonas, I think this change to Process can cover

Omair's use case, where the number of bits are used hardcoded.

The Darwin use case were ProcessGDBRemote, DynamicLoaderDarwinKernel, and ProcessMachCore can all set the number of bits used in addressing programmatically, detected at runtime.

The firmware use case where people (often in a python script in a dSYM) can set the number of bits manually so it is correct in their environment, when the dynamic detection schemes are not available.

This looks very good and I have couple of highlights to make from Linux/AArch64 perspective:
qHostInfo is not sufficient for mask calculation on Linux because both data/code ptr auth masks are read by thread register context (both masks are currently same and they same for all the threads of a process).
IMO moving the mask calculation to ABI GetCodeAddress method may be a better option. We can pull in information of addressable bits from process and also read register context for code/data masks by passing threadsp to ABI::GetCodeAddress. But in case we dont get agreement on moving mask calculation to ABI we can calculate mask somewhere inside ProcessGDBRemote and set it from there.... similar to what I have done in D99947.

Thu, Apr 15, 3:24 AM · Restricted Project

Tue, Apr 13

omjavaid added a comment to D99944: [LLDB] AArch64 PAC elf-core stack unwinder support.

Hi Omair, sorry for the delay in looking at this. It seems like we have two overlapping patches here, @justincohen patch in https://reviews.llvm.org/D98886 and this one.

I'm not convinced that we'll see a target where we have noncontiguous bits used for addressing (the best reason for using a mask), but Justin points out that Linux ARM's NT_ARM_PAC_MASK (gettable by ptrace PTRACE_GETREGSET) is expressed as a mask (and googling around, it looks like you can have a different mask for code pointers and data pointers, so Process would really need to store both, but it may be that for crashpad only the code mask needs to be tracked in Process).

lldb needs to allow for users to set the number of bits used for addressing in terms of a number -- 52 in your example -- but given that Linux wants to give us a mask via the ptrace call, I think we should preserve and use that mask. Darwin's API also provide the value in terms of the number of bits used for addressing, and as a user setting I think that's the most natural way of handling it and we should allow it. But internal to Process, we should convert this to a CodeAddress mask and down in the ABI's where we support AArch v8.3 ptrauth, we use bit 55 to clear/set the non-addressing high bits.

Omair, Justin, what do you think here? I don't think it's especially hard to accept this in terms of # of bits OR a mask, and we should use the more general internal rep in lldb. Another alternative would be "the mask should be converted to the # of bits in addressing and stored in Process in those terms".

(Honestly the idea of an address mask makes me nervous all over - if the rule is "take bit 55 and set all non-addressing bits to 0 or 1 depending on that", then we're implicitly saying "the mask only masks off high bits". If it ever masked off bit 0, for instance, on a code address, then we're going to set that to 0 or 1 when we set/clear non-addressing bits? Obviously not. So it's not REALLY a mask, is it, it's just the # of bits used for addressing in another more flexible format that you can't actually flex or it all breaks. :)

Tue, Apr 13, 8:30 AM

Mon, Apr 12

omjavaid accepted D100192: [lldb][Arm/AArch64] Add basic disassemble tests for Arm/AArch64.
Mon, Apr 12, 5:21 AM · Restricted Project
omjavaid committed rG428b17ce7052: [LLDB] Fix buildbots breakage due to TestGuessLanguage.py (authored by omjavaid).
[LLDB] Fix buildbots breakage due to TestGuessLanguage.py
Mon, Apr 12, 3:12 AM

Tue, Apr 6

omjavaid requested review of D99947: [LLDB] AArch64 Linux PAC unwinder support.
Tue, Apr 6, 4:58 AM
omjavaid requested review of D99944: [LLDB] AArch64 PAC elf-core stack unwinder support.
Tue, Apr 6, 4:32 AM
omjavaid requested review of D99941: [LLDB] Support AArch64 PAC elf-core register read.
Tue, Apr 6, 3:48 AM
omjavaid accepted D99729: [lldb] Improve CPUInfo test predicate.
Tue, Apr 6, 2:36 AM · Restricted Project

Fri, Apr 2

omjavaid committed rGd302e33b9708: [LLDB] Sleep for 5 second TestVSCode_launch test_progress_events (authored by omjavaid).
[LLDB] Sleep for 5 second TestVSCode_launch test_progress_events
Fri, Apr 2, 3:05 PM
omjavaid committed rG455973162cb9: [LLDB] Skip TestLoadUsingLazyBind.py on arm/linux (authored by omjavaid).
[LLDB] Skip TestLoadUsingLazyBind.py on arm/linux
Fri, Apr 2, 3:55 AM

Thu, Apr 1

omjavaid committed rGb468f0e165ed: [LLDB] Fix sync issue in TestVSCode_launch.test_progress_events (authored by omjavaid).
[LLDB] Fix sync issue in TestVSCode_launch.test_progress_events
Thu, Apr 1, 2:18 AM
omjavaid closed D99497: [LLDB] Fix sync issue in TestVSCode_launch.test_progress_events.
Thu, Apr 1, 2:18 AM · Restricted Project
omjavaid added a comment to D99497: [LLDB] Fix sync issue in TestVSCode_launch.test_progress_events.

I am going ahead and commit this change till we find a better way to fix the sync issue. sleep time set to 2s now.

Thu, Apr 1, 2:14 AM · Restricted Project
omjavaid added a reverting change for rGfeb6f2c78fa9: Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset": rGdd2a63e1ee53: Revert "Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication….
Thu, Apr 1, 2:12 AM
omjavaid committed rGdd2a63e1ee53: Revert "Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication… (authored by omjavaid).
Revert "Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication…
Thu, Apr 1, 2:12 AM
omjavaid added a reverting change for rG71b648f7158c: Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers": rG88a5b35d63f9: Revert "Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication….
Thu, Apr 1, 2:12 AM
omjavaid committed rG88a5b35d63f9: Revert "Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication… (authored by omjavaid).
Revert "Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication…
Thu, Apr 1, 2:12 AM

Wed, Mar 31

omjavaid added a reverting change for rG1164b4e29572: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers: rG71b648f7158c: Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers".
Wed, Mar 31, 5:12 AM
omjavaid committed rG71b648f7158c: Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers" (authored by omjavaid).
Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers"
Wed, Mar 31, 5:12 AM
omjavaid committed rGfeb6f2c78fa9: Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset" (authored by omjavaid).
Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset"
Wed, Mar 31, 5:12 AM
omjavaid added a reverting change for D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers : rG71b648f7158c: Revert "[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers".
Wed, Mar 31, 5:12 AM · Restricted Project
omjavaid added a reverting change for rG9ab677180091: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset: rGfeb6f2c78fa9: Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset".
Wed, Mar 31, 5:12 AM
omjavaid added a reverting change for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset: rGfeb6f2c78fa9: Revert "[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset".
Wed, Mar 31, 5:12 AM · Restricted Project
omjavaid added a reverting change for rG73cf85e527f6: [LLDB] Skip TestVSCode_disconnect.test_launch arm/linux: rG98d070396d2b: Revert "[LLDB] Skip TestVSCode_disconnect.test_launch arm/linux".
Wed, Mar 31, 3:24 AM
omjavaid committed rG98d070396d2b: Revert "[LLDB] Skip TestVSCode_disconnect.test_launch arm/linux" (authored by omjavaid).
Revert "[LLDB] Skip TestVSCode_disconnect.test_launch arm/linux"
Wed, Mar 31, 3:24 AM

Tue, Mar 30

omjavaid committed rG9ab677180091: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset (authored by omjavaid).
[LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset
Tue, Mar 30, 4:40 PM
omjavaid committed rG1164b4e29572: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers (authored by omjavaid).
[LLDB] Arm64/Linux Add MTE and Pointer Authentication registers
Tue, Mar 30, 4:40 PM
omjavaid committed rGd6d3d21cd1cb: [LLDB] Add support for Arm64/Linux dynamic register sets (authored by omjavaid).
[LLDB] Add support for Arm64/Linux dynamic register sets
Tue, Mar 30, 4:40 PM
omjavaid closed D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.
Tue, Mar 30, 4:40 PM · Restricted Project
omjavaid closed D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .
Tue, Mar 30, 4:39 PM · Restricted Project
omjavaid closed D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.
Tue, Mar 30, 4:39 PM · Restricted Project
omjavaid added inline comments to D98886: Pass pointer authentication code mask from minidump and use to strip pac from pc..
Tue, Mar 30, 3:51 PM · Restricted Project, Restricted Project
omjavaid added inline comments to D98886: Pass pointer authentication code mask from minidump and use to strip pac from pc..
Tue, Mar 30, 2:57 PM · Restricted Project, Restricted Project
omjavaid committed rG42c3b5e5b6ff: Fix cleanup error in TestVSCode_disconnect.test_launch (authored by omjavaid).
Fix cleanup error in TestVSCode_disconnect.test_launch
Tue, Mar 30, 3:37 AM
omjavaid closed D99491: [LLDB] Fix cleanup error in TestVSCode_disconnect.test_launch.
Tue, Mar 30, 3:37 AM · Restricted Project

Mon, Mar 29

omjavaid updated subscribers of D99497: [LLDB] Fix sync issue in TestVSCode_launch.test_progress_events.
Mon, Mar 29, 4:49 AM · Restricted Project
omjavaid requested review of D99497: [LLDB] Fix sync issue in TestVSCode_launch.test_progress_events.
Mon, Mar 29, 4:49 AM · Restricted Project
omjavaid requested review of D99491: [LLDB] Fix cleanup error in TestVSCode_disconnect.test_launch.
Mon, Mar 29, 2:38 AM · Restricted Project

Fri, Mar 26

omjavaid committed rG73cf85e527f6: [LLDB] Skip TestVSCode_disconnect.test_launch arm/linux (authored by omjavaid).
[LLDB] Skip TestVSCode_disconnect.test_launch arm/linux
Fri, Mar 26, 3:57 AM

Thu, Mar 25

omjavaid committed rGc3152536fda1: [LLDB] Skip TestVSCode_launch.test_progress_events arm/linux (authored by omjavaid).
[LLDB] Skip TestVSCode_launch.test_progress_events arm/linux
Thu, Mar 25, 4:40 PM

Tue, Mar 23

omjavaid updated the diff for D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .

Pulling GetAuxValue from NativeProcessELF. @labath what do you think.

Tue, Mar 23, 4:37 AM · Restricted Project
omjavaid added a comment to D98529: [lldb] Strip pointer authentication codes from aarch64 pc..

TCR_ELx begins at 1 (see D13.2.123 TCR_EL1, Translation Control Register (EL1) in the armarm) and covers EL0 and 1. Looking at the pseudocode access to this is undefined at EL0.

I updated my local documentation & impl to only record the shared EL0/EL1 T0SZ value, thanks.

So the OS would have to provide you some other way to read that, I know this is missing on Linux at the moment. A user setting might be good for us supporting Linux too. (though I realise your immediate concern is MacOS)

OK we may need to retain the manual setting when I upstream this, instead of going with the pure Process-maintained value determined dynamically by gdb packet or corefile metadata. If this is something you need for your own FixCodeAddress prelim patch, I can upstream the target.process.virtual-addressable-bits setting (I think the name is fine, even once Process can determine this dynamically). We'll need to decide at some point what the correct behavior is when they conflict, but if only one is set the choice is straightforward.

Tue, Mar 23, 3:27 AM · Restricted Project

Mon, Mar 22

omjavaid added a comment to D98619: [lldb] Use CompileUnit::ResolveSymbolContext in SymbolFileDWARF.

REQUIRES: x86 disables the test in those builds, which don't have the X86 target enabled (in the build config). That is exactly what we want here -- the test is not actually running this code, so it should succeed regardless of the host architecture. It's working fine on aarch64, for instance (http://lab.llvm.org:8011/#/builders/96/builds/5891). I'm not sure what's the deal with the arm bot (cc @omjavaid). It could be some 32-bit thing. I'm going to try to get a better error message first, and then we'll see what to do next...

This is crashing LLDB on arm linux I have reported a bug and marked it xfail. I ll look for a fix later.

Interesting. Crashing actually explains the test output. Thanks for disabling that test. The issue seems to be arm specific as I couldn't reproduce this on i386 lldb (and that makes it pretty weird).

Do you have a backtrace handy by any chance?

Mon, Mar 22, 6:32 AM · Restricted Project
omjavaid added a comment to D98619: [lldb] Use CompileUnit::ResolveSymbolContext in SymbolFileDWARF.

REQUIRES: x86 disables the test in those builds, which don't have the X86 target enabled (in the build config). That is exactly what we want here -- the test is not actually running this code, so it should succeed regardless of the host architecture. It's working fine on aarch64, for instance (http://lab.llvm.org:8011/#/builders/96/builds/5891). I'm not sure what's the deal with the arm bot (cc @omjavaid). It could be some 32-bit thing. I'm going to try to get a better error message first, and then we'll see what to do next...

Mon, Mar 22, 5:08 AM · Restricted Project
omjavaid committed rG89aab750b065: [LLDB] XFAIL dwarf5-debug_line-file-index.s on arm-linux (authored by omjavaid).
[LLDB] XFAIL dwarf5-debug_line-file-index.s on arm-linux
Mon, Mar 22, 5:07 AM

Mar 19 2021

omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.
Mar 19 2021, 5:28 AM · Restricted Project
omjavaid updated the diff for D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .

Rebased after changes to parent D96458

Mar 19 2021, 5:26 AM · Restricted Project
omjavaid updated the diff for D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

This update further cleans up and removes static functions that calculated m_register_info_p GetRegisterInfoPtr and m_register_info_count GetRegisterInfoCount

Mar 19 2021, 5:24 AM · Restricted Project
omjavaid updated the diff for D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

This update address review comments from @labath

Mar 19 2021, 4:55 AM · Restricted Project
omjavaid committed rG7dd76cccca02: [LLDB] Skip TestExitDuringExpression on aarch64/linux buildbot (authored by omjavaid).
[LLDB] Skip TestExitDuringExpression on aarch64/linux buildbot
Mar 19 2021, 3:32 AM

Mar 15 2021

omjavaid added inline comments to D95601: [lldb][AArch64] Add memory tag reading to lldb-server.
Mar 15 2021, 4:54 AM · Restricted Project
omjavaid committed rG0df28acffb56: [LLDB] Skip TestExitDuringExpression on arm/linux buildbot (authored by omjavaid).
[LLDB] Skip TestExitDuringExpression on arm/linux buildbot
Mar 15 2021, 4:04 AM
omjavaid requested changes to D98529: [lldb] Strip pointer authentication codes from aarch64 pc..
Mar 15 2021, 2:57 AM · Restricted Project
omjavaid added a comment to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

Thanks. This looks much better, but there is still one thing which bugs me about the register info constructor. Currently, there are three paths through that constructor:

  1. when we don't have any fancy registers (this is the original one)
  2. when we have just SVE (added with the sve support)
  3. when we have pauth et al. (added now)

Do we need all three of them? Is there anything which makes SVE special that it deserves its own register info array? Could it be just another "dynamic" register set like the other features? (If that's true, I might consider also removing the first code path, making it just a special case of an empty set of dynamic features.)

I also have some inline comments, but there are just simple stylistic issues, I hope.

I agree with your about SVE being dynamic I just didn't go for the change because I was being a little conservative about changing existing functionality. But I think If we look at the changes now making SVE dynamic seems right thing to do. Let me make the change and update this rev.

Mar 15 2021, 2:51 AM · Restricted Project
omjavaid added a comment to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

Thanks. This looks much better, but there is still one thing which bugs me about the register info constructor. Currently, there are three paths through that constructor:

  1. when we don't have any fancy registers (this is the original one)
  2. when we have just SVE (added with the sve support)
  3. when we have pauth et al. (added now)

Do we need all three of them? Is there anything which makes SVE special that it deserves its own register info array? Could it be just another "dynamic" register set like the other features? (If that's true, I might consider also removing the first code path, making it just a special case of an empty set of dynamic features.)

I also have some inline comments, but there are just simple stylistic issues, I hope.

Mar 15 2021, 2:28 AM · Restricted Project

Mar 12 2021

omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.

Rebased.

Mar 12 2021, 2:54 AM · Restricted Project
omjavaid updated the diff for D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .

Updated after changes in parent. Also removed D96459

Mar 12 2021, 2:52 AM · Restricted Project
omjavaid updated the diff for D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

This update incorporates changes written by @labath

Mar 12 2021, 2:44 AM · Restricted Project
omjavaid abandoned D96459: [LLDB] Pull AuxVec info into NativeRegisterContextLinux_arm64.
Mar 12 2021, 2:43 AM

Mar 11 2021

omjavaid added a comment to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

Would something like

do the trick? It needs a bit of cleanup (I haven't actually removed ConfigureRegisterInfos function yet -- I just moved it right next to the reginfo creation), but I think should make it clear where I'm going with this.

Mar 11 2021, 1:46 AM · Restricted Project

Mar 10 2021

omjavaid added inline comments to D95601: [lldb][AArch64] Add memory tag reading to lldb-server.
Mar 10 2021, 12:02 AM · Restricted Project

Mar 9 2021

omjavaid added a comment to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

ConfigureRegisterContext is called only once in the lifetime of a core from RegisterContextCorePOSIX_arm64 constructor. A process registers cannot change during execution which is what made basis of this change. for NativeRegisterContextLinux_arm64 I moved the ConfigureRegisterInfos logic out of configure register context because it will be called again and again during execution. But for RegisterContextCorePOSIX_arm64 we call it once in the constructor so its safe to keep the function.

Ok, I understand what's happening now -- thanks for re-iterating. I have managed to miss the fact that this patch deals with both core file and live register contexts.

In that case, I'd like to go one step further, and remove the "configuration" operation from the RegisterInfoPOSIX_arm64 class as well (by making it a part of the construction). It should be possible to do that by fetching the information needed to determine the registers before the class is instantiated. For the live context, that could be done inside the CreateHostNativeRegisterContextLinux function. For the core file context, we could create a similar factory function as well. I.e. move the construction of RegisterInfoPOSIX_arm64 from ThreadElfCore into some static function inside RegisterContextCorePOSIX_arm64 -- this function could examine the core data to determine the registers and construct the appropriate info class.

hmm .. in that case we will have to defer creation of RegisterInfoPOSIX_arm64 as you said above. I will create a function that will allow us to update unique_ptr m_register_info_up in RegisterContextPOSIX_arm64

That would make the registers of a RegisterInfoPOSIX_arm64 instance immutable (which is good), but that function would allow one to mutate the RegisterContextPOSIX_arm64 class in the middle of its lifetime by swapping the register info backing it (which is exactly what I'm trying to avoid). I'm trying to create an apis that is impossible/hard to use incorrectly. I'd like to avoid this kind of "configuration" functions unless they are really necessary. I could be wrong, but right now I don't see a reason why they'd be necessary.

Mar 9 2021, 8:13 AM · Restricted Project
omjavaid added a comment to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

ConfigureRegisterContext is called only once in the lifetime of a core from RegisterContextCorePOSIX_arm64 constructor. A process registers cannot change during execution which is what made basis of this change. for NativeRegisterContextLinux_arm64 I moved the ConfigureRegisterInfos logic out of configure register context because it will be called again and again during execution. But for RegisterContextCorePOSIX_arm64 we call it once in the constructor so its safe to keep the function.

Ok, I understand what's happening now -- thanks for re-iterating. I have managed to miss the fact that this patch deals with both core file and live register contexts.

In that case, I'd like to go one step further, and remove the "configuration" operation from the RegisterInfoPOSIX_arm64 class as well (by making it a part of the construction). It should be possible to do that by fetching the information needed to determine the registers before the class is instantiated. For the live context, that could be done inside the CreateHostNativeRegisterContextLinux function. For the core file context, we could create a similar factory function as well. I.e. move the construction of RegisterInfoPOSIX_arm64 from ThreadElfCore into some static function inside RegisterContextCorePOSIX_arm64 -- this function could examine the core data to determine the registers and construct the appropriate info class.

Mar 9 2021, 7:42 AM · Restricted Project
omjavaid added a comment to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

I'm sorry, my response times are pretty slow these days.

I'm thinking about this ConfigureRegisterInfos business. I get that the vector length is variable, and so we need to refresh it after every stop. However, the set of enabled extensions seems more static.

Is it possible for that to change during the lifetime of the process? I'd guess not, because otherwise we'd have to also resend the register lists after every stop. And, if that's the case, I'm wondering if there's a way to reflect this static-ness in the code. For example, by doing this setup in the constructor, instead of a late ConfigureRegisterInfos call. IIRC, the register contexts are created when the thread is stopped, so it should be possible to fetch the information about supported registers quite early.

What do you think?

Yes that is doable. I ll move ConfigureRegisterInfos part into constructor.

There's still one ConfigureRegisterInfos call in the RegisterContextCorePOSIX_arm64::ConfigureRegisterContext function. Is that an omission, or is it intentional (i.e., needed to support some arm feature)? Because, if that's intentional, then the moving the setup to the constructor does not achieve what I wanted, as the set of registers can be overridden afterwards. It also means we need to have a bigger discussion about how to communicate the changed registers between the client and server. OTOH, if it's not intentional, then I'd like to remove that call, to make it obvious that the set of registers cannot change (only their length, for sve registers and such).

So, let me try to ask a direct question: Is there any situation in which the set of registers accessible to the inferior (and lldb-server) can change during the lifetime of a single process. If so, what is it?

Mar 9 2021, 6:36 AM · Restricted Project
omjavaid added a comment to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.
Mar 9 2021, 6:23 AM · Restricted Project
omjavaid added inline comments to D95601: [lldb][AArch64] Add memory tag reading to lldb-server.
Mar 9 2021, 6:22 AM · Restricted Project
omjavaid added inline comments to D95601: [lldb][AArch64] Add memory tag reading to lldb-server.
Mar 9 2021, 6:13 AM · Restricted Project
omjavaid added inline comments to D95601: [lldb][AArch64] Add memory tag reading to lldb-server.
Mar 9 2021, 5:50 AM · Restricted Project
omjavaid accepted D97684: [lldb][AArch64] Simplify MTE memory region test.
Mar 9 2021, 3:33 AM · Restricted Project
omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.
Mar 9 2021, 3:29 AM · Restricted Project
omjavaid added a comment to D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.

Did you forget to add the changes? I don't see any diff for the last update.

Mar 9 2021, 3:15 AM · Restricted Project
omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.

FIxes stale diff uploaded by mistake.

Mar 9 2021, 3:13 AM · Restricted Project
omjavaid added inline comments to D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.
Mar 9 2021, 2:53 AM · Restricted Project
omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.

fixes review comments.

Mar 9 2021, 2:52 AM · Restricted Project
omjavaid added inline comments to D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.
Mar 9 2021, 12:41 AM · Restricted Project
omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.

Minor fix to write unique value to all z/p registers when writing them using register write command.

Mar 9 2021, 12:39 AM · Restricted Project
omjavaid updated the diff for D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .

Rebased after changes to parent.

Mar 9 2021, 12:37 AM · Restricted Project
omjavaid updated the diff for D96459: [LLDB] Pull AuxVec info into NativeRegisterContextLinux_arm64.

Rebased after changes in parent.

Mar 9 2021, 12:26 AM
omjavaid updated the diff for D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

This update fixes review comments highlighted by @rovka

Mar 9 2021, 12:23 AM · Restricted Project

Mar 8 2021

omjavaid added inline comments to D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.
Mar 8 2021, 4:04 AM · Restricted Project

Mar 4 2021

omjavaid accepted D96548: [lldb] [Process/FreeBSDRemote] Introduce aarch64 hw break/watchpoint support.
Mar 4 2021, 1:56 AM · Restricted Project

Mar 3 2021

omjavaid accepted D97285: [lldb][AArch64] Add "memory tag read" command.
Mar 3 2021, 3:13 AM · Restricted Project
omjavaid added inline comments to D95602: [lldb][AArch64] Add MTE memory tag reading to lldb.
Mar 3 2021, 2:59 AM · Restricted Project

Mar 2 2021

omjavaid added a comment to D95601: [lldb][AArch64] Add memory tag reading to lldb-server.

This looks good apart from minor nits inline

Mar 2 2021, 6:10 AM · Restricted Project
omjavaid added inline comments to D97281: [lldb][AArch64] Add class for managing memory tags.
Mar 2 2021, 4:28 AM · Restricted Project
omjavaid committed rG536783170f08: Support GDB remote g packet partial read (authored by omjavaid).
Support GDB remote g packet partial read
Mar 2 2021, 4:24 AM
omjavaid closed D97498: [LLDB] Support GDB remote g packet partial read.
Mar 2 2021, 4:24 AM · Restricted Project

Mar 1 2021

omjavaid added a comment to D95602: [lldb][AArch64] Add MTE memory tag reading to lldb.

I guess we also need LLDB API interface for reading/writing memory tags. So that we can do something like process.ReadMemoryTags() from python. Do you plan on adding it in a later patch?

Mar 1 2021, 5:11 AM · Restricted Project
omjavaid accepted D97282: [lldb][AArch64] Add memory-tagging qSupported feature.
Mar 1 2021, 3:37 AM · Restricted Project
omjavaid added a comment to D97281: [lldb][AArch64] Add class for managing memory tags.

This looks good overall except for one comment inline.

Mar 1 2021, 2:59 AM · Restricted Project

Feb 26 2021

omjavaid accepted D97284: [lldb][AArch64] Add MTE CPU feature test predicate.

This is accepted with a caveat above.

Feb 26 2021, 3:47 AM · Restricted Project

Feb 25 2021

omjavaid requested review of D97498: [LLDB] Support GDB remote g packet partial read.
Feb 25 2021, 1:50 PM · Restricted Project

Feb 22 2021

omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.
Feb 22 2021, 11:40 AM · Restricted Project
omjavaid added inline comments to D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.
Feb 22 2021, 11:39 AM · Restricted Project
omjavaid updated the diff for D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .

Ran clang format and fixed typos.

Feb 22 2021, 10:51 AM · Restricted Project
omjavaid added inline comments to D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .
Feb 22 2021, 10:49 AM · Restricted Project
omjavaid updated the diff for D96463: [LLDB] Arm64/Linux test case for MTE and Pointer Authentication regset.

Review comments resolved.

Feb 22 2021, 7:16 AM · Restricted Project
omjavaid updated the diff for D96460: [LLDB] Arm64/Linux Add MTE and Pointer Authentication registers .

Rebased after updates to parent.

Feb 22 2021, 6:32 AM · Restricted Project
omjavaid updated the diff for D96459: [LLDB] Pull AuxVec info into NativeRegisterContextLinux_arm64.

Rebased after updates to parent.

Feb 22 2021, 6:31 AM
omjavaid updated the diff for D96458: [LLDB] Add support for Arm64/Linux dynamic register sets.

This moves ConfigureRegisterInfos into constructor.

Feb 22 2021, 6:28 AM · Restricted Project