diff --git a/llvm/test/tools/llvm-objcopy/add-gnu-debuglink.test b/llvm/test/tools/llvm-objcopy/add-gnu-debuglink.test
index c858640ffa29..16f4637ffa9a 100644
--- a/llvm/test/tools/llvm-objcopy/add-gnu-debuglink.test
+++ b/llvm/test/tools/llvm-objcopy/add-gnu-debuglink.test
@@ -16,12 +16,13 @@ FileHeader:
 # CHECK-NEXT:  ]
 # CHECK-NEXT:  Address: 0x0
 # CHECK-NEXT:  Offset:
-# CHECK-NEXT:  Size: 32
+# CHECK-NEXT:  Size: 36
 # CHECK-NEXT:  Link: 0
 # CHECK-NEXT:  Info: 0
 # CHECK-NEXT:  AddressAlignment: 4
 # CHECK-NEXT:  EntrySize: 0
 # CHECK-NEXT:  SectionData (
 # CHECK-NEXT:      0000: 6164642D 676E752D 64656275 676C696E  |add-gnu-debuglin|
-# CHECK-NEXT:      0010: 6B2E7465 73742E74 6D700000 72C49B0C  |k.test.tmp..r...|
+# CHECK-NEXT:      0010: 6B2E7465 73742E74 6D702E62 6C6F6200  |k.test.tmp.blob.|
+# CHECK-NEXT:      0020: 72C49B0C                             |r...|
 # CHECK-NEXT:  )
diff --git a/llvm/tools/llvm-objcopy/Object.cpp b/llvm/tools/llvm-objcopy/Object.cpp
index 53291a35d27a..b3ad7329bb6b 100644
--- a/llvm/tools/llvm-objcopy/Object.cpp
+++ b/llvm/tools/llvm-objcopy/Object.cpp
@@ -371,8 +371,8 @@ void SectionWithStrTab::initialize(SectionTableRef SecTable) {
 void SectionWithStrTab::finalize() { this->Link = StrTab->Index; }
 
 void GnuDebugLinkSection::init(StringRef File, StringRef Data) {
-  FileName = sys::path::stem(File);
-  // The format for the .gnu_debuglink starts with the stemmed file name and is
+  FileName = sys::path::filename(File);
+  // The format for the .gnu_debuglink starts with the file name and is
   // followed by a null terminator and then the CRC32 of the file. The CRC32
   // should be 4 byte aligned. So we add the FileName size, a 1 for the null
   // byte, and then finally push the size to alignment and add 4.