[DebugInfo] Don't use realpath when looking up debug binary locations.

Summary:
Using realpath makes assumptions about build systems that do not always hold true. The debug binary referred to from the .gnu_debuglink should exist in the same directory (or in a .debug directory, etc.), but the files may only exist as symlinks to a differently named files elsewhere, and using realpath causes that lookup to fail.

This was added in r189250, and this is basically a revert + regression test case.

Reviewers: dblaikie, samsonov, jhenderson

Reviewed By: dblaikie

Subscribers: llvm-commits, hiraditya

Tags: #llvm

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

llvm-svn: 352916
diff --git a/llvm/test/DebugInfo/symbolize-gnu-debuglink-no-realpath.test b/llvm/test/DebugInfo/symbolize-gnu-debuglink-no-realpath.test
new file mode 100644
index 0000000..d6be5ef
--- /dev/null
+++ b/llvm/test/DebugInfo/symbolize-gnu-debuglink-no-realpath.test
@@ -0,0 +1,17 @@
+# REQUIRES: shell
+# Ensure that no realpath assumptions are made about .gnu_debuglink paths.
+
+# Copy inputs to some other location with arbitrary names, with the original
+# filenames just being symlinks to the copies. Real files go in the "real" dir,
+# symlinks (with original names) go in "syms".
+RUN: rm -rf %t/real %t/syms
+RUN: mkdir %t/real %t/syms
+RUN: cp %p/Inputs/dwarfdump-test.elf-x86-64 %t/real/prog
+RUN: cp %p/Inputs/dwarfdump-test.elf-x86-64.debuglink %t/real/link
+RUN: ln -s %t/real/prog %t/syms/dwarfdump-test.elf-x86-64
+RUN: ln -s %t/real/link %t/syms/dwarfdump-test.elf-x86-64.debuglink
+
+RUN: llvm-symbolizer --obj=%t/syms/dwarfdump-test.elf-x86-64.debuglink 0x40113f | FileCheck %s
+
+CHECK:       main
+CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16