<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/60062>60062</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Linux LLDB fails to update the value of bytes which have breakpoints on it
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          xusheng6
      </td>
    </tr>
</table>

<pre>
    On Linux, when writing to memory, the bytes where there are breakpoints on it are left unchanged. The expected behavior is to report the newly written value -- despite the actual byte value is 0xc3. 


```
$ lldb '/mnt/binja/clion/binaryninja/public/debugger/test/binaries/Linux-x86_64/helloworld' 
(lldb) target create "/mnt/binja/clion/binaryninja/public/debugger/test/binaries/Linux-x86_64/helloworld"
Current executable set to '/mnt/binja/clion/binaryninja/public/debugger/test/binaries/Linux-x86_64/helloworld' (x86_64).
(lldb) b main
Breakpoint 1: where = helloworld`main, address = 0x0000000000001169
(lldb) r
Process 134979 launched: '/mnt/binja/clion/binaryninja/public/debugger/test/binaries/Linux-x86_64/helloworld' (x86_64)
Process 134979 stopped
* thread #1, name = 'helloworld', stop reason = breakpoint 1.1
    frame #0: 0x0000555555555169 helloworld`main
helloworld`main:
->  0x555555555169 <+0>: endbr64 
 0x55555555516d <+4>: pushq  %rbp
    0x55555555516e <+5>: movq   %rsp, %rbp
    0x555555555171 <+8>: subq   $0x20, %rsp
(lldb) memory write 0x555555555169 -s 4 aaaaaaaa
(lldb) x/4xw 0x555555555169
0x555555555169: 0xaaaaaaf3 0xe5894855 0x20ec8348 0x48ec7d89
```
It can be seen the first four bytes become `0xaaaaaaf3` after the memory write, instead of the expected value `0xaaaaaaaa`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVUtv7CgT_TX0ptQtjB9tL7zI41r6pEjfLGY_AlO2uUODL-DE-fcjsDuvjmZ5B0VpUdSpOhxXFdx7NRrElpT3pHw88CVM1rXr4ic0Y3UQVr62_zfwpMyyEvYALxMaeHEqKDNCsHDBi3Wv8SRMCOI1oI8-DuPeIXCHIBzyv2erTPBgDaiQrBqHAIvpJ25GlCf4c0LAdcY-oASBE39W1oHyMYvD2bqQUhh80a-JQUADz1wvCMcjSPSzCikr8D4sXCcyu4PyQNc-PwGhj4Teffpf0f1v27ICtJYCCDsT1l1MIKwTyvzkhHW9VtZse-5ezW6dF6FVT1gnUSzjiI6wLqAPV0eFnrAuKXhc6-qvqiCsm1Br-2KdloSdr7RYHVMT1kDgbsQAvUMeEAhjv4sL26g8LM6hCYAr9kvgQiN4DPFT_F5dWH09aU43Igm4cGU28_1bjUFG8ru9Bkn-CB8iVjQB2ANwKR16nxzoSj-sLKuam0xus_zhbB9RWV405wY0j-WLMub7z2T5lpkPdp5RXu9xB2FyyCUQlmfx-oZfNnEIO38KHQ8jGBxyb03yER-kPWVbTACAwaUoLKdRgE3F8rqyqvlG-YS9Ned7Lx5J_gOArp-ikPyBsHtK8h8xDRopXFXsHfPZV-6-xe47L376BUBY6cT8zvsTBndMuWMu9vkXbBg_RzX-DX3OdnS9o_0iNnRBV0avcD_fFNQ2NtMYw68XPnoogO_rBrkS1hXryxfQ5vbFlr7KFmbIga5Y1k1RlyVEctjXeVEDXYsa-7Osm2_H4f8C9NyAiO2PJk3XQTkfYLCL28e9wN7GQqjoezZSUeBDQJcgH28bRVHGh1iOdkjHb1N_G9YfAnFOKno6yDaXTd7wA7ZZdc7rsmpYfZjaJudNNmSSZkxUeVVkfKjPOZW0qLHggzyollGWx56mdVay-iSRR3UkDqyirJekoHjhSp-0fr6crBsPyvsF24rSih00F6j99W10bXQ6imX0pKBa-eDfYUEFjW3qWnh6eryHgSud3q5llnx_mLb72eHtnVT9BBN__uaJPCxOt1MIs4_dwTrCulGFaRGn3l4I62Li_ec4O_sT-zhAEvk4PhL_fwIAAP__RSRnAQ">