diff --git a/lld/ELF/MarkLive.cpp b/lld/ELF/MarkLive.cpp
index 968a984089c3..fe1c217981bb 100644
--- a/lld/ELF/MarkLive.cpp
+++ b/lld/ELF/MarkLive.cpp
@@ -253,7 +253,7 @@ template <class ELFT> void elf::markLive() {
       Enqueue({Sec, 0});
     else if (isValidCIdentifier(Sec->Name)) {
       CNamedSections[Saver.save("__start_" + Sec->Name)].push_back(Sec);
-      CNamedSections[Saver.save("__end_" + Sec->Name)].push_back(Sec);
+      CNamedSections[Saver.save("__stop_" + Sec->Name)].push_back(Sec);
     }
   }
 
diff --git a/lld/test/ELF/startstop-gccollect.s b/lld/test/ELF/startstop-gccollect.s
index daff08187cdf..fea4657ba8c9 100644
--- a/lld/test/ELF/startstop-gccollect.s
+++ b/lld/test/ELF/startstop-gccollect.s
@@ -13,19 +13,19 @@
 
 # DISASM:      _start:
 # DISASM-NEXT: 201000:        e8 05 00 00 00  callq   5 <__start_foo>
-# DISASM-NEXT: 201005:        e8 01 00 00 00  callq   1 <__start_bar>
+# DISASM-NEXT: 201005:        e8 02 00 00 00  callq   2 <__stop_bar>
 # DISASM-NEXT: Disassembly of section foo:
 # DISASM-NEXT: __start_foo:
 # DISASM-NEXT: 20100a:        90      nop
 # DISASM-NEXT: Disassembly of section bar:
-# DISASM-NEXT: __start_bar:
+# DISASM-NEXT: bar:
 # DISASM-NEXT: 20100b:        90      nop
 
 .global _start
 .text
 _start:
  callq __start_foo
- callq __start_bar
+ callq __stop_bar
 
 .section foo,"ax"
  nop