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

    <tr>
        <th>Summary</th>
        <td>
            [clang/lldb] Could not evaluate DW_OP_entry_value for argv and argc
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    $ cat small.c
```
#include <stdlib.h>
#include <string.h>

int b = 9;
int main(int argc, char **argv) {
  char *x = (char*)malloc(10);
  memset(x, 0, 10);
  int res = x[b];
  free(x);
  return 0;
}
```

# clang -Ofast -g small.c; lldb a.out
```
(lldb) target create "a.out"
Current executable set to '/root/DeVIL/a.out' (x86_64).
(lldb) b 10
Breakpoint 1: where = a.out`main + 35 at small.c:10:3, address = 0x00000000000006f3
(lldb) r
Process 23848 launched: '/root/DeVIL/a.out' (x86_64)
Process 23848 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
    frame #0: 0x00005555555546f3 a.out`main(argc=<unavailable>, argv=<unavailable>) at small.c:10:3
   7      memset(x, 0, 10);
   8      int res = x[b];
   9      free(x);
-> 10     return res;
   11   }
(lldb) fr var
(int) argc = <Could not evaluate DW_OP_entry_value.>

(char **) argv = <Could not evaluate DW_OP_entry_value.>

(char *) x = <variable not available>

(int) res = 0
(lldb) 
```
As can be seen, `argc` and `argv ` are `<Could not evaluate DW_OP_entry_value.>`. 
When Line 10 is changed to `return 0;`, the result is correct. 

$ clang --version
```
Ubuntu clang version 15.0.0-++20220525063926+1f06398e96d4-1~exp1~20220525183937.510
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVUuPozgQ_jXkYoGMHV6HHPKYSCONNHPY3Tm2DDjgXWJHtsmk__1WGehOd2e1vdIiBNhV9bnqqwe1aZ83EVuTRnjizmIYkiaih4huo5zO97RkXOlmGFtJIr53vh1UnfQR__JYbJXu7sXhqbQnNcgPpIr47nXvLJSOWImfwnZNxPak6YUlEQPcLWxdI1aRqJhNyIv0FsDAFDeCdoUhGIAoUwqrl2MIOcuzkx4EN8Sn-Hivgg5Y6QLoLcp2dZQd7sQnK-Vkf29kpR-tBsBlKyoOjxlciCLNIHRH4u8n4TyJuxfe-Y4MQ1sTkZjR_0MWStRAOjzwIj1prBQeSGdssmJs0tyP1kqIR95kM3pRD5JA-MQbUC0idrTGgPLxIP_4-g3es3GBZN7K_ClfwxnJh0Nr5Cxs7uDcvy4GKUsjviW_emllYG6CyilmFeB2hGfkrrj4FiD4lmMCRNsC3xPh9Ebvr_zEP5xup50f1jRoxXi5LskgRt30skUnPh_aIyTnzeUCQPOxW-J7CLIFO56it1qc5VxwxQKK-2gHZSCc0UFc31GTpEudYP0EAMYx_jnebL7WEO8b5sDZ0AscKnA_anEVasAsYkshc9gUD2XVQ7IXJwoSrk80Aykn1X9pClJNao-aIwaHADfI5zYBpHvjNIXHa8O8pvpkyVXYl21wIkQGjEwZ4Pu9GYeWaAMlfhXDiE1w-Pn0_ccTVL19fsI9mbwbQPOkmAfLjHj93xArcluwwHkVmg7h3iTorfEc2ELwxzZ_OAa2Dua1JjX2tNSYPRCFcskpEbqdl1cS1tiXYPkfAsxpMh_8s5eafFNaYh6Vw8mrO9mGOZLT-9mXhyryvcRgxsEHbQNDqPEL2BLcepmA8VVap4x-GOTv9aj9OKvOiiTNEprQGMYK3IwyRjOW0ZxXLIeN9ISfpazydh2nUfFF3i74WhTTkle8SLJliP0WZih24zQY4ksTD0qPt7jT46wyzYCzaeWAihfj1G0SfdXOQ5vJ9qDsNH2Oo4Pf0LFW7yNatRveVrwSK6_8IDfQRyEuUA6Jzg7kM8khJ2OnksUkY8JXox02vfcXaCtg9gh3p3w_1kljzgH9urziizV_QjZgqZwboRHZMcsKcK7flEzUvKxFk-aMF2lFWcP5SRSnktIiXbMVlK8cHPoNfxgtf5EAgX-b7LBSm5ngCubZmmdJyYu8SluWszbjlLbRmkoYakOCfiTGdiu7CS7VY-dAOCjn3atQOKc6LQNNiC9G3xu7eQbCnlWthFmF0zfB-78BkMZ2vg">