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

    <tr>
        <th>Summary</th>
        <td>
            .bss section is accumulated in ELF file
        </td>
    </tr>

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

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

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

<pre>
    Hello,
With lld 18.0.0, it is seen that the ELF section file offset computation is incorrect for sections processed after uninitialized section (.bss).
The uninitialized section (.bss) also gets accumulated in raw ELF file which ideally should not.

### Details:
Consider test
 bss-test-arr.c
```

int arr[1000];
int main()
{
return 0;
}
```

### Linker description file(rep.lds)

```
SECTIONS {
  .rodata : {}
 .text : {}
  .data : {}
  .bss : {}
  .ldata : {
  . = ALIGN(8);
  }
}
```

### Commands executed

```
clang --target=x86_64 -c bss-test-arr.c -o bss-test-arr.o -v
ld.lld -v -m elf_x86_64 -T ./rep.lds bss-test-arr.o -static -o bss-test-arr.out
llvm-readelf -S -l bss-test-arr.out > bss-test-arr.out.txt
```

### Readelf output snippet

Section Headers:
  [Nr] Name              Type            Address          Off Size   ES Flg Lk Inf Al
..
  [ 3] .bss              NOBITS 0000000000000050 001050 000fa0 00  WA  0   0 16
  [ 4] .ldata PROGBITS        0000000000000ff0 **001ff0** 000000 00  WA  0   0 1
..

Program Headers:
  Type           Offset   VirtAddr PhysAddr           FileSiz  MemSiz   Flg Align
..
  LOAD 0x001050 0x0000000000000050 0x0000000000000050 **0x000fa0** 0x000fa0 RW 0x1000
..

The .ldata section file offset should be same as .bss section which is of type NOBITS i.e 0x1050. The program header for .bss also has file size of 0xfa0.

The readelf output is attached for reference.
[bss-test-arr.out.txt](https://github.com/llvm/llvm-project/files/13949235/bss-test-arr.out.txt)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVlFvozgQ_jXOywhkDCTkIQ9J0-xW6jWrpro-rhw8BN8ajGzTpv31JwxpShPt7VmAYTz-ZvyNZwy3Vh5qxAVJVyRdT3jrSm0WArHhjEbpZK_F2-I7KqUJuyF0TejyWboSlBIQZSENKWE3IB1ICxaxBldyB65EuL3fgMXcSV1DIRWCLgqLDnJdNa3jXi4tyDrXxmDuoNDmNMFCY3SO1qIAXjg00Naylk5yJd9RfOASloV7awmbh71vTyX-pypwZTUc0Fnged5WreIOBcgaDH_1bnt3X0uZlyAFcqXewJa6VQJq7QZLw5PF_QVrdFwqS-Jh5EbXVgo04NC6XgR7a4PuM-DGhPmAMKXD9QlW1g64MSRdRZRSkq5JvDqPVFzWhGWEzYc5s2HQoGtNDfRDm8zWv7Fydv5e1r_QgECbG9l8hIywzGATKmHPtq7B7W5vnu62Dzv48AQgNFpwx4HESy8-eQKhw6O7FEN4XR26qF0Tq5H-SQokXsPy_u7bA2GZpyj-GDyz8Ye03Oiq4rWwgEfMW4fiNxzkitcHCALHzQEdidfHbPpzmkCQfwk7BHos0RC89BhKhF1eBS8QVICq-HnCeIKQsM0Qi4vZtsumK7jtsO-UeqkCg1ygKiDYQaAuFIHEtxfC0B3dH_H0OGDr1jWtA1vLpkH3WXc3ZOH3TtOcswSApKsHQ9I1PPAKYdSe3pqRZCmEQWvPgm1RwE6-d0q3O9ioA9z_gru6gKXq4cPwkxmIOzN-O43aw3Z197QDOmopBUqjvqMF7zqA5yUAhe6Opp-BEw_cb8gfj9tvHm9oI9SioEDYkrAlpVFR0P590PlqYryE_vnD6IPh1RUev5C17YstwN_SuI44-FG-Wf9ybhupcCffAf7Cyveew6WSh_orf_fb5Rro8cTJ8ZKtS9Gw0mPP4Gmtwyc8PgM9-vJ2ZZ1dHR8IvXaGDNV4j2C7XcNtH9aT6lC6LegCXMfLEGIZoreZ0hA6C83AZunZ9AeQx_EHRMltb9N2O0wXQI8FpxdemvHelxa4czwvUXg8gwUarHM8TUxXV9MsXROWlc41PqZsQ9jmIF3Z7sNcV4RtuhweuqAx-h_MHWGbzj9L2CaK58mcxSlhm6vo4-o9EYtYzOM5n-AimtE0oemM0Um52E_nmKSYU-RRlNAZj_YznhRZkdFObzaRC0ZZQqNoGkVJltAwncUZzeOE5nM-z5kgCcWKSxV2jobaHCbS2hYXs4xNo4nie1TW_2swVuMr-EHCWPfrYRZ-cfv2YElClbTOnlGcdAoXoyDLi-P7dHRPWqMW_5tL70tHpvf13wAAAP__qn2ZZA">