So far /usr/lib/debug/.build-id/**.debug files could be opened any way. But with DWZ they can contain relative filename reference to /usr/lib/debug/.dwz/* files which then depends on whether the build-id .debug file is a symlink or not. Resolve the symlinks first before storing the filename for later references.
Without this fix I was getting:
warning: (x86_64) /usr/lib64/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.so Cannot get DWZ common file - file "/usr/lib/debug/.build-id/99/../../../../.dwz/python3-3.6.4-7.fc27.x86_64" cannot be opened
All DWZ patches are also applied in: git clone -b dwz git://git.jankratochvil.net/lldb
Do we need to check the equivalentness twice? My impression is that this function "sees through" symlinks (and even if it didn't, doing it post-resolve should be enough).