From ff59a899d605122ce45fe5a109bc31da84b05cb0 Mon Sep 17 00:00:00 2001
From: Rui Ueyama <ruiu@google.com>
Date: Sat, 17 Feb 2018 00:09:49 +0000
Subject: [PATCH] Use toString to print out garbage-collected sections.

Currently, archive file name is missing in this message. In general,
we should avoid constructing strings in an ad-hoc manner and instead
use toString() to get consistent output strings.

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

llvm-svn: 325416
---
 lld/ELF/MarkLive.cpp                         | 3 +--
 lld/test/ELF/comdat.s                        | 8 ++++----
 lld/test/ELF/emit-relocs-gc.s                | 4 ++--
 lld/test/ELF/gc-sections-print.s             | 4 ++--
 lld/test/ELF/linkerscript/discard-print-gc.s | 4 ++--
 5 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/lld/ELF/MarkLive.cpp b/lld/ELF/MarkLive.cpp
index 88f558c7a3c6..1aa20f797d97 100644
--- a/lld/ELF/MarkLive.cpp
+++ b/lld/ELF/MarkLive.cpp
@@ -305,8 +305,7 @@ template <class ELFT> void elf::markLive() {
   if (Config->PrintGcSections)
     for (InputSectionBase *Sec : InputSections)
       if (!Sec->Live)
-        message("removing unused section from '" + Sec->Name + "' in file '" +
-                Sec->File->getName() + "'");
+        message("removing unused section " + toString(Sec));
 }
 
 template void elf::markLive<ELF32LE>();
diff --git a/lld/test/ELF/comdat.s b/lld/test/ELF/comdat.s
index 5b190b177ee0..7bf2ce5bab6b 100644
--- a/lld/test/ELF/comdat.s
+++ b/lld/test/ELF/comdat.s
@@ -9,10 +9,10 @@
 // reclaimed sections on stderr.
 // RUN: ld.lld --gc-sections --print-gc-sections -shared %t.o %t.o %t2.o -o %t \
 // RUN:   2>&1 | FileCheck --check-prefix=GC %s
-// GC: removing unused section from '.text' in file
-// GC: removing unused section from '.text3' in file
-// GC: removing unused section from '.text' in file
-// GC: removing unused section from '.text' in file
+// GC: removing unused section {{.*}}.o:(.text)
+// GC: removing unused section {{.*}}.o:(.text3)
+// GC: removing unused section {{.*}}.o:(.text)
+// GC: removing unused section {{.*}}.o:(.text)
 
         .section	.text2,"axG",@progbits,foo,comdat,unique,0
 foo:
diff --git a/lld/test/ELF/emit-relocs-gc.s b/lld/test/ELF/emit-relocs-gc.s
index 0741e78ab955..9379630e7bff 100644
--- a/lld/test/ELF/emit-relocs-gc.s
+++ b/lld/test/ELF/emit-relocs-gc.s
@@ -11,8 +11,8 @@
 ## .rela.text because we keep .text.
 # RUN: ld.lld --gc-sections --emit-relocs --print-gc-sections %t.o -o %t \
 # RUN:   | FileCheck --check-prefix=MSG %s
-# MSG: removing unused section from '.bar' in file
-# MSG: removing unused section from '.rela.bar' in file
+# MSG: removing unused section {{.*}}.o:(.bar)
+# MSG: removing unused section {{.*}}.o:(.rela.bar)
 # RUN: llvm-objdump %t -section-headers | FileCheck %s --check-prefix=GC
 # GC-NOT:  rela.bar
 # GC:      rela.text
diff --git a/lld/test/ELF/gc-sections-print.s b/lld/test/ELF/gc-sections-print.s
index e05824177c1f..a822e9ef3479 100644
--- a/lld/test/ELF/gc-sections-print.s
+++ b/lld/test/ELF/gc-sections-print.s
@@ -2,8 +2,8 @@
 # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
 # RUN: ld.lld %t --gc-sections --print-gc-sections -o %t2 2>&1 | FileCheck -check-prefix=PRINT %s
 
-# PRINT:      removing unused section from '.text.x' in file
-# PRINT-NEXT: removing unused section from '.text.y' in file
+# PRINT:      removing unused section {{.*}}:(.text.x)
+# PRINT-NEXT: removing unused section {{.*}}:(.text.y)
 
 # RUN: ld.lld %t --gc-sections --print-gc-sections --no-print-gc-sections -o %t2 >& %t.log
 # RUN: echo >> %t.log
diff --git a/lld/test/ELF/linkerscript/discard-print-gc.s b/lld/test/ELF/linkerscript/discard-print-gc.s
index 2a230e53dc2b..c9233ce7b0eb 100644
--- a/lld/test/ELF/linkerscript/discard-print-gc.s
+++ b/lld/test/ELF/linkerscript/discard-print-gc.s
@@ -15,5 +15,5 @@
 .section .foo,"a"
 .quad 0
 
-# CHECK: removing unused section from '.foo'
-# QUIET-NOT: removing unused section from '.foo'
+# CHECK: removing unused section {{.*}}:(.foo)
+# QUIET-NOT: removing unused section {{.*}}:(.foo)