<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/133684>133684</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[x86] why llvm keep rodata.const section when compile with -fdata-sections
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
LukeSTM
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/r8ha9o9nf
```
#include <stdio.h>
#include <string.h>
struct ss_t {
int s_id;
char msg[];
};
struct ss_t *mst_1;
void do_some_test(void)
{
struct ss_t *mst_2;
char buf[100];
int fill_num=4;
char tmp_str[40]="test stringssssssssss!";
memcpy(buf,&fill_num,sizeof(int));
memcpy(buf+sizeof(int), tmp_str, strlen(tmp_str) + 1);
mst_1=(struct ss_t *)buf;
if (mst_1->s_id==4)
printf("mst_1->s_id=%d,mst_1->msg=%s\n",mst_1->s_id,mst_1->msg);
}
```

sorry, but i want know, why clang keep .rodata..L__const.do_some_test.tmp_str in sections. Constant could be expanded into movabsq instructions, and what would use .rodata..L__const.do_some_test.tmp_str? Dose it should be removed ?

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVE2PozgQ_TXFxQLZZQhw4JCPibTS7Gn3HhnbBG-DncWmMz2_fmWg0z2ZWWkPGxGB6uO951clC-_N1WrdQHGA4pSIOfRuar7OL_qPP39PWqfemj6Emwe-BzwDnq9OtW4ImZuugOfvgOep6kXtatsB3cdnR7eH7gG5sXKYlSbAjz4o47Ie-JdfpCZjr0uOAN3Hvw_TLAPx_hIIlIcFvDY2EH8xCvgWkL2YyOivq_4tXL5_PKHgfvThwh7JV2cUUe7i3agvQfsAWMUYYL3AbBy_wMAfBbRzB8WBUfqhYdXamWG42HkEfsp_bAnj7eLDBMUhX7tOgBg1kNUL__gBMsAPwlGP8vYGWEVSPALuHiR49Oa7dh1gZWyIp8D6X_oOP1UeH5LwGDUM2gJWj1hNAA-ErYhkg1zdPAFWTx4B1pFm4d6KTUcAq6UlBf5lneJpMWa1m9ZA69tkbIiyAPGnWiwU4PERjmNfoh6Ko40efUouPU_FDzfK0_OixoVkUBx-G8VVx3lg9bT3JvRzm0k3Ap5nr6dUhCBkP2obPOBZeK-Xj65TrchFmTJB8zTPqUrrSmHKNDJRl7lGXr-feO_dNL1Fw9s5EEPuwgbyYt09hu79G5GDsFfyovWNZJNTIogs-3q5SGd9yD5vbrYNihhLvJbBOOszcox1EVO6eVCk1UR_uwmrtCLGBkdG9ypa_zcxdp1f7IrUwipy70Ug96Vv9vo_0gM_k5PzmphAfP9OOunRvWpFgJ__X68L2ikmUKZt3tE0b1ueVorVaVnRsq1ExSWK1etENVzVvBaJbliZ85zmOSuTvilkUQrOqpZLKuROipyJqqVYyR3lxa5ITIMUC8o5oyWlrMwYo7RVIi_Ksi5ETSGnehRmyIbhdYz3YmK8n3XDON9VeTKIVg9-uWARrb6TJRu3tTglUxOb0na-esjpYHzwHzDBhGG5mb9VOyhOy0LE5LoP2zyWWbyPnNx7bYl0480MmtxN6EnaxbL0fSeSeRqeb_TPbkf87ZXeJveXlgHwvEiOhm9nem3wnwAAAP__eMDoRw">