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

    <tr>
        <th>Summary</th>
        <td>
            [llvm] I found a __attribute__((section())) that doesn't  work in a specific scenario.
        </td>
    </tr>

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

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

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

<pre>
    demo:

```
__attribute__((section(".custom"))) static const int data = 123;

const int* get_data()
{
  return &data;
}

int main()
{
  (void)get_data();

```

`clang demo.c -c -o demo.o `
clang version 15.0.4
```
readelf -SW demo.o
There are 11 section headers, starting at offset 0x300:

Section Headers:
  [Nr] Name              Type Address          Off    Size   ES Flg Lk Inf Al
  [ 0] NULL            0000000000000000 000000 000000 00      0   0  0
  [ 1] .strtab           STRTAB          0000000000000000 00027a 000082 00      0 0  1
  [ 2] .text             PROGBITS        0000000000000000 000040 000024 00  AX  0   0  4
  [ 3] .rela.text        RELA 0000000000000000 000200 000048 18   I 10   2  8
  [ 4] .custom PROGBITS        0000000000000000 000064 000004 00   A  0   0  4
  [ 5] .comment          PROGBITS        0000000000000000 000068 00003a 01  MS  0 0  1
  [ 6] .note.GNU-stack   PROGBITS        0000000000000000 0000a2 000000 00      0   0  1
  [ 7] .eh_frame         PROGBITS 0000000000000000 0000a8 000050 00   A  0   0  8
  [ 8] .rela.eh_frame RELA            0000000000000000 000248 000030 18   I 10   7  8
  [ 9] .llvm_addrsig     LOOS+0xfff4c03  0000000000000000 000278 000002 00   E 10 0  1
  [10] .symtab           SYMTAB          0000000000000000 0000f8 000108 18      1   9  8
```

But if I delete function get_data, custom  section wouldn't  be generated, this is a bug?

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUlV1vozgUhn-Nc3OUyDYQ4IKLZDKZrdRpV01H-3ETGXwAb4mpbNOP_fUrDE1JlE5nEYmFOTzv8etjW1irKo2YkWhNos1MdK5uTfZ3jboWumKcBbO8la-ZxENLghWhG0Lf_pd0vP3jfi-cMyrvHO73hCeEJxYLp1rtH_ii6KxrD4RzwtPhBuuEUwUUrbYOlHYghRNAgg0wHpBgPZU7BhG-ggrdvo_16HQMi8d4AIOuMxoIX_qgIyjeTIm94EEo_QGE8OSpVZLw9ExtgoOLVhw7i0boCnrvFgXMC5i3w0MLx9gh5AmNVa0GFi3oIrwINSgkNiXMd3-MkKH_vkaDIAwCYzA6DnUfbCzhX3qPjVO6AuGgLUuLDuhLQOnZbO7GL38bv3x7C0Ci9Y0h0QZuxAHh5Lp_fURYSWnQ2vfe27Lsm536tw__uoNtU8H1A1zpElbNBAvUY39cX0-h9OyC82YMG350ymM9b2GdcSKfEHf3d_er9c8VeCx8f8InChSATfnc8x2-uBMbfr-7_ba-ut_9dATh0PDQ81d_HkcQThUCr2CwEScyd1-vV5fTfqMnwBIAuALWYzlAMsWGHjuswF9LdxkO_UO6sLqcbjRw28MBtfufhiwT3wQCKAP4vrtk-NLzdetw8e3mx9w6UTz8Kl_wD0rmRCH2CljvSzMt76PCZfSQekTPzTkxPXmfyyPfT-Qnxc7D0Rl6MqfxGT71-KZ5OuyFlMaqyhOvb293hK_pS1mWYUGDj8p90KBjuX_tNc68YXRYTq-Hs-X01_dPlxMtPZ_RsS4BgAFAehzDxS1z3TlQJVyBxAYdQtnpYVd634G_wFjFx73uue0aqQmPHUCOUKFGIxzKPtbVyoKyICDvKhJsB5mZzAKZBqmYYcbigLI-z3RWZzJP44BJSVMpMQrDvAzTIhJ5xIoiLVkyUxmnPGSUJzQOEpouoojmy3KJRV6wMmUxCSkehGr8vCxaU82UtR1mjAVJHM0akWNj_WnLucZn8G_7MzHazEzWfzTPu8qSkDbKOvuOcco1_pjue_p5uYKy7bQEAZ-cvG-HrauFA9miHb16bs0DKA0C7CMWqlQF2AK1MKpdzDrTZLVzj_4g4FvCt5VydZf3a53wrU9iaOaPpv0HC0f41g_GEr4dR_uU8f8CAAD__8_eIAo">