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

    <tr>
        <th>Summary</th>
        <td>
            ld.lld crashes on linker script removing .dynsym
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          hstk30-hw
      </td>
    </tr>
</table>

<pre>
    ```
Stack dump:
0.      Program arguments: /opt/buildtools/llvm-15.0.4/bin/ld.lld -pie -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o main /usr/lib/x86_64-linux-gnu/Scrt1.o /usr/lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7.5.0/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/7.5.0 -L/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib /tmp/main-fcc50c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/7.5.0/crtendS.o /usr/lib/x86_64-linux-gnu/crtn.o -T /home/lld/test/ELF/linkerscript/Output/discard-section-dynsym.s.tmp.lds
 #0 0x0000000000969aef PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x000000000096745c SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fa13119e980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #3 0x0000000000b36ce6 lld::elf::VersionTableSection::finalizeContents() (/opt/buildtools/llvm-15.0.4/bin/ld.lld+0xb36ce6)
 #4 0x0000000000b8fbac finalizeSynthetic(lld::elf::SyntheticSection*) Writer.cpp:0:0
 #5 0x0000000000babfb6 (anonymous namespace)::Writer<llvm::object::ELFType<(llvm::support::endianness)1, true>>::finalizeSections() (.isra.1328) Writer.cpp:0:0
 #6 0x0000000000bae0f1 void lld::elf::writeResult<llvm::object::ELFType<(llvm::support::endianness)1, true>>() (/opt/buildtools/llvm-15.0.4/bin/ld.lld+0xbae0f1)
 #7 0x0000000000a77112 lld::elf::LinkerDriver::link(llvm::opt::InputArgList&) (/opt/buildtools/llvm-15.0.4/bin/ld.lld+0xa77112)
 #8 0x0000000000a78ddf lld::elf::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) (/opt/buildtools/llvm-15.0.4/bin/ld.lld+0xa78ddf)
 #9 0x0000000000a7a20c lld::elf::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (/opt/buildtools/llvm-15.0.4/bin/ld.lld+0xa7a20c)
#10 0x00000000008e0ae1 lldMain(int, char const**, llvm::raw_ostream&, llvm::raw_ostream&, bool) lld.cpp:0:0
#11 0x000000000085ec25 main (/opt/buildtools/llvm-15.0.4/bin/ld.lld+0x85ec25)
#12 0x00007fa12fc2ac87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#13 0x00000000008dfb7a _start (/opt/buildtools/llvm-15.0.4/bin/ld.lld+0x8dfb7a)
clang-15: error: unable to execute command: Segmentation fault
clang-15: error: linker command failed due to signal (use -v to see invocation)
```

Link script /home/lld/test/ELF/linkerscript/Output/discard-section-dynsym.s.tmp.lds like

```
SECTIONS { /DISCARD/ : { *(.dynsym .dynstr) } }
```

just from commit https://github.com/llvm/llvm-project/commit/f4a3569d0ad61907692fe10b1ffe1fa7763e9c26

It fail in https://github.com/llvm/llvm-project/blob/09327efdf0f02c4f865a4536db96cac539bb1c01/lld/ELF/SyntheticSections.cpp#L3120C1-L3124C2

It's this commit not cover this case?

command like 

```
clang main.o -o main -T discard-section-dynsym.s.tmp.lds
```

main.c just a hello world.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0V81u4zgSfhr6QkigKFk_Bx_cThvbi-zOoB3MAnsxKLJkcZoiDZLKzzz9gpSdRE42k3TQgW0pZLHq-6pYxSJzTh40wAotv6Dl1YKNvjd21Tv_IydJf7dojXhYoZKcPuQKkfXOM_4Di3E4onw9DZEUx7_frTlYNmBmD-MA2juUrzGiW3P0iG7bUSrhjVEO0a1St0OSLVOSFmFK6jAmUqUETo4ScPIXtqCswUnSM9cnzj8oQPnVQY84SaBPOssGSHphcTJgUN3-vi73ZYET8aDZIHmipP4BNphXsi2LqD8MjvfJfV0mZZE6k1KcGDwwqYPc6Owkjeh20naSP-gR0e2OW5-l5h2S3Hr5UvDA-eviVbpMybSshYPUu9Tg5PpDqz8qj-g2TV_-RE9Nul4n93zucsVbTnkp8Yq9C6HgPz8cEd2GACUd50vCg2vUgXOcJMwlGkCAmEb2DieJNrNh_n7hnwgWaLF7737QAfhNkO3NADEBROAHLqTG1-ttXB92rONWxnz5bfTHMbwI6TizInHAvTQ67HD3MKQu9cMxVcJNSYgRzQkm9-TxrykbBh3-3UrtY9beWMZhJw-aqX8wLRRYROtbIwWia0QbPE25lB9DbpP4fdSdXeiuiiXHl8qk9n-riJ4UVR3L8ixroKkJ3u8tOG8s7K3HiNZvuVPJ9uh7C0yEFCaIfiH3GW1qgmjzZCaf4W3zkkOJg9fzNcrXoLrp5Q-wThp9w1oFu8nB00QnNVPyL9gY7WMtC6CaE7YPVbQIcAIwQ1jMEdZdyzg-m909aN-DlxzR-iXqx9kz5CmA_7HSg33d7cu5NdZ2bRnYMG30w2BGhzUbwB0Zh4Aympn0oXwTyE1Dpv0TuJ_ev15vbx6OgPJNBHkWcePxaOxJBrSQTGtwDtEmQ3SDvR0B5V_j57mjT1SeOTqVzrI0y6eBt8iVF-SAdBkOO_uViN8FPd_Bjcr_Omaf3CyRwGyzVDOGrKqyjL5C7jrWkCsrb0PcwkioKjMSAU58-aaPo1_bw7UMRaj8DOAJzwxwfQG4FqJ7N2Cw_2LBxjPYa2vZw3foUL7hPbOYGx1gr6O3P4M8AJshby6QM0r4K8hfOPZNhBv8JGjZ3d44b4EN0e9vz7XGqKfnZ5gGIo9MQ0mfnxc1EAZZYHpyfqzmGzwnEz6fJdMEIy8zOUCaHzP1Ejhdnju0n-M96Zjxfn4E0Y5TxusK7_dKtnzvPLN-f-4Jo6HQD4S5ZPPHP-_-2z7-S1NahePdjeeGZnqNk1FPylG-zotiznF-NNWiayuGJ8M_zzJqeWTJFdOHJFuGDhysNSG38KjDKYe9wXAPfPSAuRkGpsPOxjs4hJ6dhRqMOxaq4__XdGquT8txx6QCgcUYlbt4-gcmowOc3MYxACz1reFsOq7OwZjfLabfUBLw1Ab9moYJK_kDnlu8vOJ83dx8--3fO4yqLwHB1bfdZv39CtEtjjeaOLoOB9SkGcentzE7q6vwfYPen6PzuLNmiO6THvfeH8NVCdFA6iB9P7YpN8Mp6OfYH62JBxTdTusQ3XYFy5dlIwgTZdaQqmxoBxlps66DrGNVVebQcFo-N__Nx3BhqT9uuFUm7H7S5LSCTnSkI5QXXV0uWbHMS9E2JWd8mTdtm3GSPUZtCtdl0zL1hzS_zjNKNlkSnsWGzsEiWjnse-nO3tLGY25uwZ5GmQOUb58vOu_KEGX8Rpjjzo61JTTnp3tgcoPf12-_GtuojOMYYoZ7UMrgO2OVSKf5hVjloskbtoBVVmU5qZdFVSz6lRB5x2jGoa1Fnmc14WVRVFXbZp3IS0IWckUJLUiRFaQhRV6ktMoKgIZ0DZSsFktUEBiYVGmIWWrsYSGdG2FV1-WSLBRrQbl40ac0BoWGG79dxQi348GhgijpvHta76VXsDrdyrllrgeHjT4n_ylDLQzmVuoDPiXDYrRq9eGdFbGGMhfh_i8AAP__Wp3zpg">