Index: tools/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py |
diff --git a/tools/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py b/tools/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py |
index 041de993f34800825391013ba347014e0fc14f96..c5804cfa81305c6d672b976db61b71297b4ab28d 100644 |
--- a/tools/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py |
+++ b/tools/telemetry/telemetry/internal/backends/chrome/desktop_browser_backend.py |
@@ -46,7 +46,12 @@ def GetSymbolBinary(executable, os_name): |
'Chromium Framework.framework', |
'Chromium Framework') |
if os.path.isfile(framework_file): |
- return framework_file |
+ # Sometimes dyld returns symbols for a different file. Emulate what it |
+ # does here by using the same mechanism to find the binary file. |
+ import fcntl |
+ F_GETPATH = 50 |
+ with open(framework_file, 'rb') as f: |
+ return fcntl.fcntl(f.fileno(), F_GETPATH, b'\0' * 1024).rstrip(b'\0') |
return executable |