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

    <tr>
        <th>Summary</th>
        <td>
            Weak aliases on MacOS aren't made global/public
        </td>
    </tr>

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

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

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

<pre>
    Sample code:

```c
int bar();
int foo() { return 20; }

#pragma weak bar = foo
```

This should make a symbol that is linkable from external libraries, but instead `bar` gets placed in private text. Attempting to link fails.

```text
$ nm a.o
0000000000000000 t _bar
0000000000000000 T _foo
0000000000000000 t ltmp0
0000000000000008 s ltmp1
$ clang b.c a.o    # b.c just tries to call `bar()`
Undefined symbols for architecture arm64:
  "_bar", referenced from:
      _main in b-457c5f.o
ld: symbol(s) not found for architecture arm64
```

On Linux, `bar` correctly gets made a public weak symbol:

```text
0000000000000000 W bar
0000000000000000 T foo
```

This functionality should be supported in MacOS:

- https://github.com/llvm/llvm-project/issues/71001
- https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVMGO2zYQ_RrqMliBomzLPuiwm4VOKVIgKdLbYkSNZMYUKZAj7_rvC8p2nKTeoghhWCKHnHnz3qMwRjM4olqsn8T6OcOZ9z7UPAQfY7nOWt-d6s84TpZA-45E-Sjks5DX_408__R5bhxDi0GorVA7UT7dVnvvz6sgqicIxHNwoKQon0BUzz_lVOUUcBgRXgkPKR2I8nlJ8HPNHw992ZsIce9n28GIBwKEeBpbb4H3yGAiWOMO2FqCPvgR6I0pOLRgTRswGIpCfYB2ZjAuMmEHYiNTJxsJA3GEyaKmDoyDKZgjMgHTG-fwyEzjxMYNwH4pAj0aG_O7NKUz1y5X4EbA_NKV_GUAw0uqfz_4BV6-83HnpOVxknejW4hLtLih0BbdAG2uExgAAKHKZfptjgycuEmtabT2SspZ3qsCf7mOeuOou1AeofcBMOi9YdI8BwIM42b13TuphFq6UyrRHqinQC7xm8T5YV8aLyMal4hvH1brSq_7K2W2E-XjpaZQ25jM5Xyy2uy69zC8b6FPDj4aN78lRDfxtQ-BNNvT2QYjdslb09xao88GvQB452LcFP-XTl_hvwT-H37vZ6fZeIfW8Onq_pYgztPkA5_t-gfqT59_QfcAe-YpplXVCNUMhvdzm2s_CtVYe7w-Hqbgv5FmoRoT45wuSVMVUhb303R0JOsnCjlOk6VrvuWGnYRqFjmOlHZ6PY_kGBN8oZoF5N9CNR-80zTxjFao5unPJuBIrz4c4i2WXr8SHj4adzBuyPc82qyry25X7jCjuqjUVm2k2qlsX-tetlVFW6nXhdRyTdVOYd8p7Eu51a3MTK2kWhVSVlIW20Ll_Wqjd5ud7jdt1XdyLVaSRjQ2T4TkPgzZQkVdFEWpisxiSzYun0-lHL3CEk3GXj9noV5YbOchipW0JnK8pWHDlurUCaA1GCmCv8gFGMgJVfHZb4P17ULI2XbZHGz9-wJegB9r9U8AAAD__3nryHA">