[lld] Reapply "Prevent duplicate files in debug line header in dwarf 5."

Reapply rL356943; the previous attempt was reverted because the patch rL356941
that this depended on had broken a test.

Original commit message:

[lld] Prevent duplicate files in debug line header in dwarf 5.

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59671

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@357020 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/ELF/debug-line-obj.s b/test/ELF/debug-line-obj.s
index 615673b..32182a1 100644
--- a/test/ELF/debug-line-obj.s
+++ b/test/ELF/debug-line-obj.s
@@ -32,11 +32,10 @@
 _Z3barv:
 .Lfunc_begin0:
   .file  0 "/path" "test.cpp" md5 0x9ff11a8404ab4d032ee2dd4f5f8c4140
-  .file  1 "test.cpp" md5 0x9ff11a8404ab4d032ee2dd4f5f8c4140
-  .loc  1 2 0                   # test.cpp:2:0
-  .loc  1 2 20 prologue_end     # test.cpp:2:20
+  .loc  0 2 0                   # test.cpp:2:0
+  .loc  0 2 20 prologue_end     # test.cpp:2:20
   callq  _Z3foov
-  .loc  1 2 13 is_stmt 0        # test.cpp:2:13
+  .loc  0 2 13 is_stmt 0        # test.cpp:2:13
 .Lfunc_end0:
 .size  _Z3barv, .Lfunc_end0-_Z3barv
                                         # -- End function
@@ -45,10 +44,10 @@
   .type  _Z3bazv,@function
 _Z3bazv:                                # @_Z3bazv
 .Lfunc_begin1:
-  .loc  1 3 0 is_stmt 1         # test.cpp:3:0
-  .loc  1 3 20 prologue_end     # test.cpp:3:20
+  .loc  0 3 0 is_stmt 1         # test.cpp:3:0
+  .loc  0 3 20 prologue_end     # test.cpp:3:20
   callq  _Z3foov
-  .loc  1 3 13 is_stmt 0        # test.cpp:3:13
+  .loc  0 3 13 is_stmt 0        # test.cpp:3:13
 .Lfunc_end1:
   .size  _Z3bazv, .Lfunc_end1-_Z3bazv
 
diff --git a/test/ELF/debug-line-str.s b/test/ELF/debug-line-str.s
index e23b5c8..af5eee4 100644
--- a/test/ELF/debug-line-str.s
+++ b/test/ELF/debug-line-str.s
@@ -27,8 +27,7 @@
 main:
 .Lfunc_begin0:
  .file 0 "/home/path" "test.cpp" md5 0x8ed32099ab837bd13543fd3e8102739f
- .file 1 "test.cpp" md5 0x8ed32099ab837bd13543fd3e8102739f
- .loc 1 3 10 prologue_end
+ .loc 0 3 10 prologue_end
  jmp _Z3foov
 .Lfunc_end0: