<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/121629>121629</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[debuginfo]the value of DW_OP_deref_size generated by clang is incorrect
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
IOVOVHS
</td>
</tr>
</table>
<pre>
lldb and gdb parse the parameter p_1 of function func_10 incorrectly.
``` cpp
(gdb) s
func10 (p_0=p_0@entry=5, p_1=<error reading variable: That operation is not available on integers of more than 8 bytes.>)
at /home/hzw/Downloads/debugger-test/gen_progs/1735837458_IuQuWMTj/src_2/prog3.cpp:35
35 Container_0* var319 = new Container_0(1.0, 2.0)
(lldb) b func10
Breakpoint 1: where = test_case_3`func10(short, double) + 6 at prog3.cpp:10:27, address = 0x0000000000001146
(lldb) r
Process 50488 launched: '/home/hzw/Downloads/test_cases/1735837458_IuQuWMTj/test_case_3/test_case_3' (x86_64)
Process 50488 stopped
* thread #1, name = 'test_case_3', stop reason = breakpoint 1.1
frame #0: 0x0000555555555146 test_case_3`func10(p_0=5, p_1=<unavailable>) at prog3.cpp:10:27
7 short int var317 = p_0;
8 int var318 = 10;
9
-> 10 Container_0* var319 = new Container_0(1.0, 2.0);
11
12 if (p_1 > 0) {
13 double var320 = var319->member_1 + var318;
(lldb) fr v
(short) p_0 = 5
(double) p_1 = <Invalid address size for DW_OP_deref_size: 16
>
(short) var317 = 5
(int) var318 = 10
(Container_0 *) var319 = <variable not available>
```
```
cd test_case
clang++ -I . prog3.cpp test_case3.cpp -O1 -o test_case3 -g
clang++ --version
clang version 19.1.5 (https://github.com/llvm/llvm-project.git ab4b5a2db582958af1ee308a790cfdb42bd24720)
Target: x86_64-unknown-linux-gnu
```
When this program is compiled on arm64-apple-darwin, lldb can correctly parse the value of p_1. But it behaves incorrectly on Ubuntu.
[test_case.zip](https://github.com/user-attachments/files/18306083/test_case.zip)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVk-Po7gT_TTOpRRk7BDgkAPpTPTrw089q52dOSKDHfAMsZFt0tP96Vdl8relXmkXRQHbRfn51asqhPe6M0ptSLYl2W4hptBbt3l--f7y_X9_Lhor3zbDIBsQRkInGxiF8wpCr_BJHFVQDsY6BXuAw2TaoK2JD3VKQZvWOqfaMLwlhFb4W9P5B-04nqdY0cmGsBI8oRW-mlIgrBhrSvgO_1dUmeDeCN9lhD3hboTvCH9SzlkHTgmpTQcn4bRoBkV4Bd96EcCOyomIR3swNoA4CT2gCeCcCapTziPwo3V4JGGggOYtKJ8Q_oWwktAKAEAEIGzf26PC2_srYfudfTWDFdITtpeqmbpOuWVQPhC275SpR2c7XEtznhU8X2VF_Tz9Mf34_7efhO29a2tG2B6teIJM8IpnhMa_Ep6sCUIb5WpKWIUH42kJhO_AqNfH1SJNKHLC8FZeCcWIIaMNzHwSWm2dEr9Gq02AFCl67ZVT0SnCrlvhVc3Jmp5fYIXvrQvoW9oJaWUlELaFNdJxDzylhFcsR0shpVPeR6_0N7270nS1foTmCK2-OtuifUZXRQGDmEzbK4noCDr8nPIr5M85vj_Vh1GO8vpdrOv1aibtEYcPdhyVjHArCD0KDAjjKR7RiOPMGmH5o1NcxVdRkN6aaNTckZ6kZzkdXPTBOBJ35im7XOlq_VlA5oR4TIHJXEU9S_az6MStcwBAgcXQYgbM2soj1uh-C7NlcbYEuJkV0Sy9sypnK0KrJeFfAPN2fue_K_jqO00vvnHAZjj6MFeGFHA_GjWZb882_AoZr1m1cWtG49YzCkR6VMdGOfTCtuezEb591OfBwWmeOSdCiQxFR9k8f8uLGdAOCH96NicxaHlNBa_fFRysg92P-uVrLZVThxonMfZpzAn-5Zq3163u4nLeTZvbwjUSceWOTiCsulqVF0yXyvhYBG_7Xmryh-dW3pSIw0GYjrAtcrZ8BkhuOrvZzcPlSwpLezcLy-6jh-VJOa-tuczDeQxpmaRJhnHuQxg94RVheyyrOvRTk7T2SNh-GE6X23J09qdqQ9LpAKJZNZlgsskKVmaFOKRKcVqIvKTtQTYr1ki2ytm5WH4TrlMBIzFXg-Vkfhn7apaDNtPvZWemj_TQ6kevDIRe-3h8J47YXVp7HPWgJDYW4Y7r1VKM46CWUrhXbVDesYe2wsC1I9510pMYJoWNaKzTBLZTAB2gUb04KX_fRNH9X81kwnRpp9n2SnLyrkeS7f6Zt8krtxQhiLY_KhOwfB70MJfRgtM1LR6qZfQZqVrIDZclL8VCbbDglnlBc77oN1LmvFi1UhaFlLJdM3poRNZm8iBFW2ZsoTeMsoymdEULmmc8WfGmEAVbtzlrRZvm2N-PQg8JRjOxrlto7ye1SVm6ZuViEI0afPw-YewsIYafKm4Tw99MnScrOmgf_M1F0GGIHzWxO2tzsCTbPXD9MSGhUwY_GJSE5g1mTeo7-heTGzb_TpKE7eNRIr3zaU4b9ncAAAD__1wu0s8">