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

    <tr>
        <th>Summary</th>
        <td>
            [MC] __FUNCTION__ not in symtab
        </td>
    </tr>

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

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

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

<pre>
    test.c
```
#include <stdio.h>

int main() {
    printf("%s\n", __FUNCTION__);
}
```
compile command:
```
clang test.c -o test.o -c
```
https://godbolt.org/z/PPaGT3j46
```
// X86 backend
% clang test.c -o test.o -c
% llvm-readelf -s test.o
Symbol table '.symtab' contains 7 entries:
   Num:    Value          Size Type    Bind Vis       Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT UND 
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT   ABS test.c
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT     2 .text
     3: 0000000000000000     4 OBJECT  LOCAL  DEFAULT     4 .L.str
     4: 0000000000000004     5 OBJECT  LOCAL  DEFAULT     4 .L__FUNCTION__.main
     5: 0000000000000000    29 FUNC    GLOBAL DEFAULT 2 main
     6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT   UND printf


// AArch64 backend
% clang test.c -o test.o -c
% llvm-readelf -s test.o
Symbol table '.symtab' contains 10 entries:
 Num:    Value          Size Type    Bind   Vis       Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT   UND
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT   ABS test.c
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT     2 .text
     3: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT     2 $x.0
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT     4 .rodata.str1.1
     5: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT     4 $d.1
     6: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT     5 $d.2
     7: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT     7 $d.3
     8: 0000000000000000    40 FUNC    GLOBAL DEFAULT     2 main
     9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT   UND printf
```
I don't known why symbol `.L__FUNCTION__.main` is in symtab in X86 but not in AArch64
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUlt9v4ygQx_8a_DKKRTD-9eCH_PKqp1xSqenq7qnChiRsbYgMvjb715-Ms62bTdreaaXTWVGMGfhoGL4Dw4yROyVEhsIpCucea-1eN9lMb6R6FI1XaH7MrDDWLxGeIzxBET79-k8SSFVWLReAgpmxXGp_j4LFyer-pbJQM6kQSRBJAcXTvh8A4NBIZbfOQhAJDQpnyjVn8PCQ369mm5v16uEBkRQFp2konl90pdT1QVYCSl3XTHEUTC4Pq5jaQb8kGOm-pWF0eX17aw-mQ5EckXyneaEr6-tmh0j-HZH89pZ92QTfaHQlOt0s-COJoGDlo1D8R38IH_lBQqiqv-pRIxgX1RZG5jSkt98d60JXYFlRCUAk9s2xtqxAJIZSK8ukMhCDULaRwrzEAgBWbY0CF_uvrGoFvDx38ruAzfHguqZScfgqzcm24s-wYrV43TjAHQWfPb0FVuvNn7cLgOV6NlkCzBf55H65gfvVHAaE8TuE_Ga56FpnBIDJ9A6GenTjyTuku4XT0M8kAAK-Fc92AAqugiisp78tZpsLLnVGf-kb2wxI9AKJOkv4EWkofN8lzis2vOYgSaGb1TW_LNfTyfIFS-CMEX1i584Y4PbulKyD1H4j88mkKfcR_U-kPsY_a_0fKB1-udZdxP6vYn9nVR0IEfrs4w_E_gmXKPiN5syyLnfG_vgzOn_fN9r5xt-QPqP2C6SwJ5EBKf53pLgnBQNSco1E8bUs7iN_lsnpL8nkt3fWDXCtEIktPCr9pOBpfwTTZyCK8KXTKcIgDUgFfV52LXfjtRaUtt3n6WTweBbwNEiZJ7JxjJM0IEkSevssilgSEcwDug2LOEpEXMaMJxQnAd6KbeHJjGBCMSERjgNKQz8iY8G3tEj5OIp4iBHFomay8ruDpLufPWlMK7KEpNHYq1ghKuNqHEKUeAJn7OqMcO41mTt8inZnEMWVNNa8Uqy0lSuOfp-hcP6mJvmxuH7VXttU2Vm1IO2-LfxS14jkHfH0Gh0a_U2UFpHc-WEQyZ2ffwcAAP__toNvUw">