<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">