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

    <tr>
        <th>Summary</th>
        <td>
            gcc+lld+lto: entry symbol gets optimized away
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lld
      </td>
    </tr>

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

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

<pre>
    ```
$ gcc -xc <(echo "void _start(void) {}") -fuse-ld=lld -nostdlib -o bug -flto && readelf -s bug | grep start
ld.lld: warning: cannot find entry symbol _start; not setting start address
```

With clang or without lto:
```
$ clang -xc <(echo "void _start(void) {}") -fuse-ld=lld -nostdlib -o bug -flto && readelf -s bug | grep start
     3: 0000000000001340     6 FUNC    GLOBAL DEFAULT    8 _start

$ gcc -xc <(echo "void _start(void) {}") -fuse-ld=lld -nostdlib -o bug && readelf -s bug | grep start
     3: 000000000000136c     7 FUNC    GLOBAL DEFAULT 8 _start
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMU8FunDAQ_ZrhMmLFjsEsBw672dJL1F4a9VgZ2xhXBq-wSbr9-spko6ZRe6oq1UJg8zzj98ZvRAjWzFq3UJ2gOmdijaNf2kmrUQ_GZ71X1xZ4cXuKMxRHoBKNlJh_kwjsDuig5egRiB69VfglRLFEoENaATUI9QnqMxClRT6sQedOATs7pzCffYjK2R5zj_1qMB9cTLk4EMdFC6XdgHnYMKjv0Cz6gs8nbGSc2rmU7YhPYpntbNJUinn2EQc7K9RzXK4YrlPv3Qs3dsKEBx2jnc1zOhRKLTqEm8Y3krf3ZxtHlE7MBv2CTzaOfo3oogd2_H0Ylbf9_0WtMA2WClS8GntWFhvCsXv4cJdm7-8_no73eH7XHR_uP6U_hxeqr8rxT33w96q43JD6T6reSHq5uUy1TDWsEZlu97ypWFNWJcvGVtU95zUp0chKHLjkNRvU_jDogTeVLKvMtlQQKxqifVlVJduJivNKl7UmKpVQBygLPQnrds49Tju_mMyGsOqW1_uKMid67cLWiETJ00SpI5c27c771QQoC2dDDD_jo41Ot0ZKoNMWcnp246-uNzoG9JdoJ_tdKxRP4pqti2vHGC8heZc6oM7YOK79TvoJqEsn3D75ZfFftYxA3UY3AHUb4x8BAAD__-7lPe8">