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

    <tr>
        <th>Summary</th>
        <td>
            [CFI] duplicate symbols on aliased weak function
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            compiler-rt:cfi,
            LTO
      </td>
    </tr>

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

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

<pre>
    cat ../b.c
```
void f(void) {}

int main(int argc, char **argv) {
  argv[0] = (char *)f;
  void (*fp)(void) = (void (*)(void))argv[0];
 fp();
}
```


cat ../a.c
```
__attribute__((weak)) void f(void) {}

extern void ff(void) __attribute__((alias("f")));
```

clang ../b.c ../a.c -fsanitize=cfi-icall -flto=thin -fvisibility=hidden -fuse-ld=lld -o x -Wl,-save-temps -Wl,--thinlto-jobs=1
```
ld.lld: error: duplicate symbol: f.cfi
>>> defined at b.c
>>> /tmp/x.lto.b-0cd040.o:(f.cfi)
>>> defined at a.c
>>> /tmp/x.lto.a-1b6f8e.o:(.text.f.cfi+0x0)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8lM-PqzYQx_-a4WIZmXHYwIEDuxSpUqVeKvUYGf9I_J7BETZp0r--MiHZvNd2JUuM7fFnvjMeI0Kwx0nrBsp3KLtMLPHk5-Zio3C3YfkussGrWyNFJHkO2A-5BNbCG9sGay_eKmIAq2QA1gT277Dvkhdr7RTJKOwEWCVTzEcJ-EHkScwEsAVsxXy8PE6xlpB1Xr4zKDsCvCOA1ad3bYDf3daogBVga86A9Wv8-6kXjx_2AeuXGBsvMaq0uU43-S9J3sezCuJfVTgcRIyzHZaoD4eVVf2lxfd7PPJljfQ16nnafF6d_oMpnBVhNdEA4h3_qftHxdKJ6fi8tqdyQk0Qk432bw28k8ZSK4VzhBoXPfAunuxEqLnYYAfrbLwB705WKZ1Wl6CpU8A75xShnlwJ_dMBftAgLppGPZ7DY4UmkIuefvNDAN4VPyl0KncJ1RI9z35OhlrOzkoRNQm3cfAurZlcGpuO8l_ugyht7KQVEZFs7fjcAuzjeAbsr7mLPh8ok4rtWO6Bt4DVnYX1_-HE1zhBi-HNVPqBy6O-xnyDvrMr29CPJDPVcFXzWmS6KfYlR1bygmenpqoGLBTuaqlYiTvzVpnSlPptz6XYDUWR2QYZlmyPWOyx4jwXqtbKFIKXhvFBV7BjehTW5c5dxtzPx8yGsOimKBnbs8yJQbuwPmpE6cezdXqmcwTermIR8AMQf_vj92SXXTY3CUSH5Rhgx5wNMXyio41u_UN89L-md_nzNQXiJ7K2plYktT0xyySj9VO2zK45xXgOa8V6wP5o42kZculHwD6F2D70PPtvWkbAfk0lAPZbNpcG_wkAAP__2BlV2Q">